RSS Feed  Twitter  
|
Articles - Malware
2006年3月にハッカージャパン誌に寄稿した記事です。初稿にほとんど修正を加えず掲載しておりますので、古い情報であることにご注意ください。
Agobot系
Agobot系のボットもrbot系と並んで人気が高く、agobot/forbot/phatbot/djbot/zotobなどの亜種を生んでいるクロスプラットホーム(Windows/Linux)のボットである。Agobotの作成者(Ago)は逮捕されたようだが、現在でもアクティブなボット作成者によって改変が続けられている。

Agobot系は、rbot系に比べれば安定度は高く、またVMwareの検出機能なども備わり、解析を困難にしようと試みている。今回利用しているAgobotの亜種もVMware上では動作しない(起動しない)。基本的な使い方はrbot系で解説したのと似通っているが、もちろん、コマンド等は若干異なる。
古いタイプはソースの設定ファイル(config.cpp)を直接編集してからコンパイルを行っていたが、新しめのものは設定用のGUIアプリケーション(configgui.exe)がソースに含まれているおり、GUIで設定を行い設定ファイルを出力できるようになっている。基本となる設定内容は同様で、接続先のIRCサーバ(バックアップサーバも指定可)、チャンネル名、そしてボットのユーザ名、パスワードなどである。rbot系では、パスワードのみでログインしていたが、Agobot系ではユーザ名とパスワードの二つを入力する必要がある。
agobot
■図22:設定ファイル作成用のGUIアプリケーションを起動して、
必要な項目を入力後に出力し、コンパイルを行う。
 
agobot config
■図23:作成した設定ファイル。
 
また、Agobot系のソースには丁寧な説明書やFAQなども含まれるものも多く、コンパイルのチュートリアルなどもあるため、知識の乏しいクラッカーでも作成、使用することは難しくないだろう(rbot系でも同様のチュートリアルが含まれるものもあるが、ほとんどはついていない)。実際の動作についてはrbot系と重なる部分も多いので、簡単に解説していく。
agobot3 agobot4
■図24:AgobotにはFAQやコマンド一覧の説明書なども添付されていることが多い。


.commands.list  -[ command list ]-
 1. / "commands.list" / "Lists all available commands"
 2. / "cvar.list" / "prints a list of all cvars"
 3. / "cvar.get" / "gets the content of a cvar"
 4. / "cvar.set" / "sets the content of a cvar"
 5. / "cvar.loadconfig" / "loads config from a file"
 6. / "cvar.saveconfig" / "saves config to a file"
 7. / "mac.logout" / "logs the user out"
 8. / "login" / "logs the user in"
 9. / "bot.about" / "displays the info the author wants you to see"
 10. / "bot.die" / "terminates the bot"
 11. / "bot.dns" / "resolves ip/hostname by dns"
 12. / "bot.execute" / "makes the bot execute a .exe"
 13. / "bot.id" / "displays the id of the current code"
 14. / "bot.nick" / "changes the nickname of the bot"
 15. / "bot.open" / "opens a file (whatever)"
 16. / "bot.remove" / "removes the bot"
 17. / "bot.removeallbut" / "removes the bot if id does not match"
 18. / "bot.rndnick" / "makes the bot generate a new random nick"
 19. / "bot.status" / "gives status"
 20. / "bot.sysinfo" / "displays the system info"
 21. / "bot.longuptime" / "If uptime > 7 days then bot will respond"
 22. / "bot.highspeed" / "If speed > 5000 then bot will respond"
 23. / "bot.quit" / "quits the bot"

~~~~省略~~~~
■図25:コマンドは、ボットにログイン後に「.commands.list」コマンドで確認することができる。