One Gadget
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
One Gadget は、system と "/bin/sh" を使用する代わりにシェルを取得することを可能にします。One Gadget は、libcライブラリ内でシェルを取得する方法 (execve("/bin/sh")
) を1つのアドレスを使用して見つけます。
しかし、通常はいくつかの制約があり、最も一般的で回避しやすいものは [rsp+0x30] == NULL
です。RSP 内の値を制御しているため、制約を回避するためにいくつかのNULL値を送信するだけで済みます。
To the address indicated by One Gadget you need to add the base address where libc
is loaded.
One Gadgetは任意書き込み2実行技術にとって大きな助けであり、ROP チェーンを簡素化するかもしれません。なぜなら、1つのアドレスを呼び出すだけで済み(要件を満たす必要があります)、それだけで済むからです。
githubリポジトリはARM64がサポートされていると述べていますが、Kali 2023.3のlibcで実行するとガジェットが見つかりません。
githubリポジトリから: OneGadgetに触発されたこのツールはpythonで書かれており、angrを使用してexecve('/bin/sh', NULL, NULL)
を実行するガジェットの制約をテストします。
OneGadgetから試すガジェットがなくなった場合、Angry Gadgetは試すための複雑な制約を持つガジェットをたくさん提供します!
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)