大家可能都中過電腦病毒,被駭客奪取了帳號密碼資訊甚至是被遠端操控了電腦,那究竟其中有做到哪些事呢?
我們這邊就來寫一個簡單的後門程式來了解。
這個後門程式將分為伺服器端跟客戶端兩個部份。
伺服器端需要安插一個後門程式,讓我們可以讓目標電腦能接受外來的連線請求,進而接收並執行我們所希望的命令程式,程式執行完成後再將結果回傳給客護端。
執行流程大致如下:
客戶端則是要可以將我們輸入的命令及參數傳送至伺服器端,然後在等待伺服器那邊把執行結果回傳。
執行流程大致如下:
1.取得伺服器位置並建立連線
2.將命令發送
3.等待致行結果回傳
4.將結果印出
本來開發網頁程式會需要了解Socket相關技術,但是在node.js中,Socket被包裝成簡單的API並與事件引擎結合了,因此相對容易控制。
另外我們要使用的是自訂的通訊協定搭配net模組來建立網路連線。
var net = require('net');
//建立伺服器
var server = net.createServer(function(socket) {
console.log('新連線已被建立!');
});
//監聽 12345 port
server.listen(12345, '127.0.0.1');
//建立socket連線
var client = new net.Socket();
//連線到127.0.0.1的12345 port
client.connect(12345, '127.0.0.1', function() {
//已與伺服器建立連線
console.log('已連線!');
});
當連線成功建立後,兩端都會收到一個Socket,明天我們會繼續利用這個Socket來做一些事情。