crontab -e
crontabにエントリを追加し、ユーザーがorを使用したときに表示されないように隠すことはできますかcrontab -l
?わかりました購買力の評価Defcon CTFの間に技術的な攻撃を受けました。
UPD:私は最近CTFに参加し、他のチームのコンピュータにアクセスしました。私は彼らが気づかないように私のスクリプトを実行したいと思います。だから私はこのようなものを探しています。したがって、権限のないユーザーが実行できることをお勧めしますが、rootユーザーへの回答も役立ちます。
ベストアンサー1
間違った方向に項目を隠すには非常に簡単な方法があります(ただし、精密調査に耐えられません)。
crontab -l
たとえば、動的出力妨害の簡単な概念証明は次のとおりです。
crontab() {
case "$*" in
(*-l*) command crontab "$@" | grep -v "some_haxx.sh" ;;
(*) command crontab "$@" ;;
esac
}
シェル構成ファイルに入れる必要があります。
少しの努力をすればより柔軟にすることができますが、そうしてもトリックを見つけることができます。cat /var/spool/cron/someuser
いくつかのアイデアで同様の干渉を達成できると思います-e
(編集者を呼び出す前に必要な項目を動的に削除し、編集後に置き換えます)。
編集:実際に実際のユーザーからコンテンツを隠すより簡単な方法がありますcrontab -l
。Ctrl-vCtrl-mVimが編集者であると仮定すると、インラインキーシーケンス():
* * * * * /somedir/some_haxx.sh # Ctrl-vCtrl-m# ここに何でも入れることができます。これにより、cronエントリは無視されます。ここに多くのスペースやダミーのcronエントリを入れることができます。
エディタにはあまり特別な内容は表示されません(^M
中央線を除く)。ファイルを保存してエディタを終了します。このトリックは、コマンドラインでファイルを表示した場合にのみ機能します。ここで私たちがすることはcarriage return
制御文字を挿入することです。これにより、表示されたテキストがその行の後のすべての内容で上書きされます。
これは上記の欠点を克服しますcat
が、編集中のユーザーにそれを隠すにはまだ煙と鏡が必要ですcrontab -e
。なぜなら、エディタは制御文字を^M
固定としてマークするからです。