問題タブ [shellcode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - シェルコード: 2 つの execve() 呼び出しを実行
アセンブリでシェルコードを書こうとしています。/usr/bin/killall
コマンドとコマンドを実行する必要があります/usr/bin/wget
。システムコールを使用して、シェルコードで両方のコマンドを完全に実行していexecve()
ます。execve()
しかし、これら2つを組み合わせたいのですが、最初の呼び出しが実行されるとプログラムが終了するため、これは不可能です。(のmanページからexecve()
:execve()
成功しても返されません)。
execve()
2コールを実行するにはどうすればよいですか? または、同じシェル コードからと の両方/usr/bin/killall
を呼び出す別の方法はありますか?/usr/bin/wget
よろしくお願いします!
c - バッファ オーバーフローを使用してシェル コードを実行する
最近コンピューターのセキュリティについて学んでいて、いくつかの問題に遭遇しました。
ファイルshellcodeでシェルコードを実行するために、オーバーフローする必要がある固定バッファを持つ関数が与えられました。関数は非常に単純です。
私の最初の推測では、関数の戻りアドレスeipを変更して、シェルコード ファイルにあるものを見つけて実行することでしたが、16 進値で表現できるファイルへのアドレスがないことに気付きました。リターンアドレスを操作する必要があると確信しているので、現在私が呼び出しているのは次のとおりです。
私の出力は次のとおりです。
pythonスクリプトは、edpのアドレスを追加のアドレスに置き換えてリターンアドレスに到達し、それを操作する準備ができた後、72文字のAを出力してバッファをedpおよびeipのポイントまでオーバーフローさせます。どんな助けでも本当に感謝しています、ありがとう!
c - mcrypt のセグメンテーション違反 (おそらくバッファに関係するもの)
AESを使用してシェルコードを暗号化するcで独自のクリプターを構築しようとしています。現在、以下にある 1 つのプログラムでクリプターの PoC を既に作成しています。
私の目標は、暗号化されたシェルコードを取得し、解読して実行することです。mcrypt_generic_init(td, key, key_len, IV);
ただし、関数で mcrypt を初期化しようとすると、セグメンテーション違反が発生しているようです。セグメンテーション違反の原因が何なのか本当にわかりません。誰かアイデアがあれば?
stack - シェルコードのスタック メモリ アドレス
ここでシェルコード(スタックメソッドを使用したexecve)の作成に関する基本的な記事を読んでいました:http://hackoftheday.securitytube.net/2013/04/demystifying-execve-shellcode-stack.html
ステップ 6: 文字列 "/bin/sh" が null で終了しているため、null 文字をプッシュします。その後、文字列「/bin/sh」を逆順にプッシュします
文字列が逆の順序でスタックにプッシュされるのはなぜですか?また、文字列をスタックにプッシュする「前に」文字列を終了するヌル文字がプッシュされるのはなぜですか?