Tuto Comment détecter les backdoors sur son serveur et les enlever

Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
15 547
Score réaction
10 026
Points
1 840
Lulu3869 à dit:
comment enlever les backdoors de son serveur gmod car le scan du noma ne marche pas
impossible , vous avez mal fait le scan ou vous n'avez tous simplement pas de codes malicieux
 
NIL

NIL

Geek suprême
Messages
805
Score réaction
200
Points
160
Très bon tuto pour les serveur avec des leak ou plein d'addons sur le workshop :D
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
15 547
Score réaction
10 026
Points
1 840
Je me permet de Up pour annoncer que nomalua semble avoir une défaillance sérieuse dans son utilisation et que la seul alternative publique reste braxscan..

le code de base n'avais pas de permission ce qui fait que n'importe qui pouvais run la command (et donc lag le serveur le temps du scan) > chose fix grâce a @Zaros_Live qui a edit le code rapidement (un grand merci a lui)


j'ai edit le code plus haut au cas ou..bref cadeaux :

Code:
-- Not optimized at all. Use at your own risk.
BraxScan = BraxScan or {}
BraxScan.Trigger = { -- external sources "http\\.", "HTTP", "HTML", "OpenURL", "sound.PlayURL", -- people don't use this for legit purposes "CompileString", "CompileFile", "RunString", "RunStringEx", "%(_G%)", "setmetatable", -- databases "sql", "MySQLite", "mysqloo", "tmysql", -- encryption "Base64Encode", "Base64Decode", "CRC", -- superiority complex ":Ban\\(", ":Kick\\(", -- players "player.GetByUniqueID", "SetUserGroup", "setroot", "setrank", -- workshop "steamworks.Subscribe", "steamworks.ViewFile", "steamworks.OpenWorkshop", "resource.AddWorkshop", -- screen "render.Capture", "render.CapturePixels", "render.ReadPixel", -- configs and cheats "hostip", "hostname", "server.cfg", "autoexec.cfg", "\\.dll", "\\.exe", "bind\\ ", "connect\\ ", "point_servercommand", "lua_run", "\"rcon", "\"rcon_password", "\"sv_password", "\"sv_cheats"
}
BraxScan.Version = 0.2
print("♫ BraxScan initialized on ".. (SERVER and "server" or "client") ..". Use 'braxscan' to scan.")
local LogBuffer = "\n"
function BraxScan.Print(color, text) if(type(color) == "table") then MsgC(color,text.."\n") BraxScan.LogAdd(text) else MsgN(color) BraxScan.LogAdd(color) end
end
function BraxScan.LogNew() LogBuffer = ""
end
function BraxScan.LogAdd(text) LogBuffer = LogBuffer .. text .. "\n"
end
function BraxScan.LogSave() file.Write("braxscan/scan_"..os.date("%y-%m-%d_%H-%M-%S")..".txt", LogBuffer)
end
file.CreateDir("braxscan")
function BraxScan.ScanAddon(addon) BraxScan.Print(Color(0,255,255), "♫ "..addon.title.." ♫") BraxScan.Print(Color(200,200,200), "File: "..addon.file) BraxScan.Print(Color(200,200,200), "ID: "..addon.wsid) MsgN("") local luafiles = 0 local found = 0 Files = {} local function Recurs(f,a) local files, folders = file.Find(f .. "*", a) for k,v in pairs(files) do local s = string.Split(v,".") if s[#s] == "dll" then BraxScan.Print(Color(255,0,0), "\n\n!!! Found DLL file in addon "..a.." !!!\n") end if s[#s] == "lua" then table.insert(Files,f..v) -- add file to list local luafile = file.Read(f..v, "GAME") if not luafile then print("cannot read lua file") continue end local lines = string.Split(luafile,"\n") if not lines then continue end if #lines == 1 then BraxScan.Print(Color(255,0,0), "+-- Only one line in "..f..v.." --") BraxScan.Print(Color(0,255,0), "| 1 | "..lines[1].."\n") found = found + 1 end for linenr, line in pairs(lines) do -- find trigger words for _, w in pairs(BraxScan.Trigger) do if string.find(line, w, 0, false) then BraxScan.Print(Color(255,0,0), "┌── Found '"..w.."' in "..f..v.." on line "..linenr.." ──") for i=math.Clamp(linenr-3,0,9999),math.Clamp(linenr+3,0,#lines) do if not lines[i] then continue end BraxScan.Print(i == linenr and Color(0,255,0) or Color(255,255,0), "│ "..i.." | "..lines[i]) end BraxScan.Print(Color(255,0,0), "└───●") BraxScan.Print("\n") found = found + 1 end end -- find steamids in plain text local steamid = string.match(line, "(STEAM_[0-9]:[0-9]:[0-9]+)") if steamid then BraxScan.Print(Color(255,0,0), "┌── Found SteamID "..steamid.." at line "..linenr.." in "..f..v.." ──") for i=math.Clamp(linenr-3,0,9999),math.Clamp(linenr+3,0,#lines) do BraxScan.Print(i == linenr and Color(0,255,0) or Color(255,255,0), "│ "..i.." | "..lines[i]) end BraxScan.Print(Color(255,0,0), "└───●") BraxScan.Print("\n") found = found + 1 end end luafiles = luafiles + 1 end end for k,v in pairs(folders) do Recurs(f..v.."/",a) end end Recurs("",addon.title) BraxScan.Print(Color(200,200,128), "⌐ Lua files: "..luafiles) BraxScan.Print(Color(200,200,128), "⌐ Suspicious things: "..found) BraxScan.Print("")
end
concommand.Add("braxscan", function(ply,com,arg) if IsValid(ply) and not ply:IsSuperAdmin() then ply:PrintMessage(HUD_PRINTCONSOLE, "Superadmin only") return end if not arg[1] then print("\n---------- BraxScan "..BraxScan.Version.." ----------\n") print("To search all addons: braxscan all 1") print("To search a specific addon: braxscan *ID* 1") print("Last argument is whether to save log or not.") print("\n----------------------------------") return end local savelog = arg[2] == "1" and true or false local addons = engine.GetAddons() print("\n---------- BraxScan "..BraxScan.Version.." ----------\n") print("Addons installed: "..#addons) print("\nStarting search...\n") if not BraxScan.Trigger then MsgC(Color(255,0,0), "No definitions file, odd.\n") return end if arg[1] == "all" then BraxScan.LogNew() for anum, addon in pairs(addons) do BraxScan.ScanAddon(addon) end if savelog then BraxScan.LogSave() end else BraxScan.LogNew() print("Specific search for ID "..arg[1].."...") local found = false for anum, addon in pairs(addons) do if addon.wsid == arg[1] then BraxScan.ScanAddon(addon) found = true break end end if savelog then BraxScan.LogSave() end if not found then MsgC(Color(255,0,0), "No addon with that ID installed.\n\n") end end MsgC(Color(0,255,0), "All done.") if savelog then MsgC(Color(0,255,0), "\nLog file saved to data directory.") end print("\n\n----------------------------------")
end)
 
melcez

melcez

Psychopathe
Messages
1 580
Score réaction
463
Points
300
Yoh Sambre ♪ à dit:
Je me permet de Up pour annoncer que nomalua semble avoir une défaillance sérieuse dans son utilisation et que la seul alternative publique reste braxscan..

le code de base n'avais pas de permission ce qui fait que n'importe qui pouvais run la command (et donc lag le serveur le temps du scan) > chose fix grâce a @Zaros_Live qui a edit le code rapidement (un grand merci a lui)


j'ai edit le code plus haut au cas ou..bref cadeaux :

Code:
-- Not optimized at all. Use at your own risk.
BraxScan = BraxScan or {}
BraxScan.Trigger = { -- external sources "http\\.", "HTTP", "HTML", "OpenURL", "sound.PlayURL", -- people don't use this for legit purposes "CompileString", "CompileFile", "RunString", "RunStringEx", "%(_G%)", "setmetatable", -- databases "sql", "MySQLite", "mysqloo", "tmysql", -- encryption "Base64Encode", "Base64Decode", "CRC", -- superiority complex ":Ban\\(", ":Kick\\(", -- players "player.GetByUniqueID", "SetUserGroup", "setroot", "setrank", -- workshop "steamworks.Subscribe", "steamworks.ViewFile", "steamworks.OpenWorkshop", "resource.AddWorkshop", -- screen "render.Capture", "render.CapturePixels", "render.ReadPixel", -- configs and cheats "hostip", "hostname", "server.cfg", "autoexec.cfg", "\\.dll", "\\.exe", "bind\\ ", "connect\\ ", "point_servercommand", "lua_run", "\"rcon", "\"rcon_password", "\"sv_password", "\"sv_cheats"
}
BraxScan.Version = 0.2
print("♫ BraxScan initialized on ".. (SERVER and "server" or "client") ..". Use 'braxscan' to scan.")
local LogBuffer = "\n"
function BraxScan.Print(color, text) if(type(color) == "table") then MsgC(color,text.."\n") BraxScan.LogAdd(text) else MsgN(color) BraxScan.LogAdd(color) end
end
function BraxScan.LogNew() LogBuffer = ""
end
function BraxScan.LogAdd(text) LogBuffer = LogBuffer .. text .. "\n"
end
function BraxScan.LogSave() file.Write("braxscan/scan_"..os.date("%y-%m-%d_%H-%M-%S")..".txt", LogBuffer)
end
file.CreateDir("braxscan")
function BraxScan.ScanAddon(addon) BraxScan.Print(Color(0,255,255), "♫ "..addon.title.." ♫") BraxScan.Print(Color(200,200,200), "File: "..addon.file) BraxScan.Print(Color(200,200,200), "ID: "..addon.wsid) MsgN("") local luafiles = 0 local found = 0 Files = {} local function Recurs(f,a) local files, folders = file.Find(f .. "*", a) for k,v in pairs(files) do local s = string.Split(v,".") if s[#s] == "dll" then BraxScan.Print(Color(255,0,0), "\n\n!!! Found DLL file in addon "..a.." !!!\n") end if s[#s] == "lua" then table.insert(Files,f..v) -- add file to list local luafile = file.Read(f..v, "GAME") if not luafile then print("cannot read lua file") continue end local lines = string.Split(luafile,"\n") if not lines then continue end if #lines == 1 then BraxScan.Print(Color(255,0,0), "+-- Only one line in "..f..v.." --") BraxScan.Print(Color(0,255,0), "| 1 | "..lines[1].."\n") found = found + 1 end for linenr, line in pairs(lines) do -- find trigger words for _, w in pairs(BraxScan.Trigger) do if string.find(line, w, 0, false) then BraxScan.Print(Color(255,0,0), "┌── Found '"..w.."' in "..f..v.." on line "..linenr.." ──") for i=math.Clamp(linenr-3,0,9999),math.Clamp(linenr+3,0,#lines) do if not lines[i] then continue end BraxScan.Print(i == linenr and Color(0,255,0) or Color(255,255,0), "│ "..i.." | "..lines[i]) end BraxScan.Print(Color(255,0,0), "└───●") BraxScan.Print("\n") found = found + 1 end end -- find steamids in plain text local steamid = string.match(line, "(STEAM_[0-9]:[0-9]:[0-9]+)") if steamid then BraxScan.Print(Color(255,0,0), "┌── Found SteamID "..steamid.." at line "..linenr.." in "..f..v.." ──") for i=math.Clamp(linenr-3,0,9999),math.Clamp(linenr+3,0,#lines) do BraxScan.Print(i == linenr and Color(0,255,0) or Color(255,255,0), "│ "..i.." | "..lines[i]) end BraxScan.Print(Color(255,0,0), "└───●") BraxScan.Print("\n") found = found + 1 end end luafiles = luafiles + 1 end end for k,v in pairs(folders) do Recurs(f..v.."/",a) end end Recurs("",addon.title) BraxScan.Print(Color(200,200,128), "⌐ Lua files: "..luafiles) BraxScan.Print(Color(200,200,128), "⌐ Suspicious things: "..found) BraxScan.Print("")
end
concommand.Add("braxscan", function(ply,com,arg) if IsValid(ply) and not ply:IsSuperAdmin() then ply:PrintMessage(HUD_PRINTCONSOLE, "Superadmin only") return end if not arg[1] then print("\n---------- BraxScan "..BraxScan.Version.." ----------\n") print("To search all addons: braxscan all 1") print("To search a specific addon: braxscan *ID* 1") print("Last argument is whether to save log or not.") print("\n----------------------------------") return end local savelog = arg[2] == "1" and true or false local addons = engine.GetAddons() print("\n---------- BraxScan "..BraxScan.Version.." ----------\n") print("Addons installed: "..#addons) print("\nStarting search...\n") if not BraxScan.Trigger then MsgC(Color(255,0,0), "No definitions file, odd.\n") return end if arg[1] == "all" then BraxScan.LogNew() for anum, addon in pairs(addons) do BraxScan.ScanAddon(addon) end if savelog then BraxScan.LogSave() end else BraxScan.LogNew() print("Specific search for ID "..arg[1].."...") local found = false for anum, addon in pairs(addons) do if addon.wsid == arg[1] then BraxScan.ScanAddon(addon) found = true break end end if savelog then BraxScan.LogSave() end if not found then MsgC(Color(255,0,0), "No addon with that ID installed.\n\n") end end MsgC(Color(0,255,0), "All done.") if savelog then MsgC(Color(0,255,0), "\nLog file saved to data directory.") end print("\n\n----------------------------------")
end)
@Zaros_Live À quand des releases de tes créations ? :p
 
enziolepro25564

enziolepro25564

Geek
Messages
76
Score réaction
26
Points
80
Yoh Sambre ♪ à dit:
message usseless , d'autant que nomalua commence a se faire assez vieux (sans oublier qu'il est bypassable)
merci qui ?
 
enziolepro25564

enziolepro25564

Geek
Messages
76
Score réaction
26
Points
80
Merci THABBuzzkill
 
Imor

Imor

Nouveau né
Messages
11
Score réaction
1
Points
20
ça fait crach mon serveur mais je vois rien dans la console du serveur et dans la console depuis mon panel :x
 
G

GameX222

Geek
Messages
1
Score réaction
0
Points
65
Yoh Sambre ♪ à dit:
Essaye BraxScan
Ton lua ne scan uniquement que les addons que tu a dans ta collection or les créateur du GMODSTORE eux aussi peuvent mettre des backdoor qui peuvent porté atteinte a ton serveur ce serait cool un petit upgrade de ton LUA merci
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
15 547
Score réaction
10 026
Points
1 840
GameX222 à dit:
Ton lua ne scan uniquement que les addons que tu a dans ta collection or les créateur du GMODSTORE eux aussi peuvent mettre des backdoor qui peuvent porté atteinte a ton serveur ce serait cool un petit upgrade de ton LUA merci
je ne suis pas responsable des contents creator d'une plateforme "pro" , normalement les codes sont inspecter et d'ailleurs faut se rappeler que chaque maj nécessite une réinstallation (donc moins probable de chopper un code malicieux comparer au workshop).

Bref NomaLua & Braxscan ne sont plus vraiment une référence étant donner que l'un ou l'autre est une usine a gaz en terme de fonctionnement (optimisation toussa toussa) sans oublier qu'il sont aisément bypassable
 
Mathieu133

Mathieu133

Geek suprême
Messages
327
Score réaction
49
Points
145
GameX222 à dit:
Ton lua ne scan uniquement que les addons que tu a dans ta collection or les créateur du GMODSTORE eux aussi peuvent mettre des backdoor qui peuvent porté atteinte a ton serveur ce serait cool un petit upgrade de ton LUA merci
Juste pour info les scrip proposer pas gmodstore son vérifier avent la publication
 
Z3k4

Z3k4

Helpeur Divin
Messages
5 227
Score réaction
1 804
Points
580
Mathieu133 à dit:
Juste pour info les scrip proposer pas gmodstore son vérifier avent la publication
Bon c'est un très grop up que t'as fait, mais pour info sur ton info (infoception), même si les scripts sont vérifiés avant leurs mises en vente, étant donné que il y a beaucoup de scripts, ya toujours quelques créateurs qui mettent des "backdoors" dans une mise à jour de leurs addons, même si ça reste rare et que, quand c'est découvert, c'est sanctionné :p
 
Akulla

Akulla

Helpeur Divin
Messages
4 341
Score réaction
2 713
Points
550
Mathieu133 à dit:
Juste pour info les scrip proposer pas gmodstore son vérifier avent la publication
Elite F4 Rigole au fond de la salle
 
randy

randy

Geek
Messages
223
Score réaction
18
Points
65
Bonjour,

J'aimerais savoir si c'est normale que sa n'affiche que de 277 a
 
randy

randy

Geek
Messages
223
Score réaction
18
Points
65
Bonjour,

J'aimerais savoir si c'est normal que sa n'affiche que de 277 a 500 (numéro dans la console)
Et j'aimerais savoir ce que veux dire cette phrase : - AUTHENT (Presence of Steam ID) addons/sh_lounge_chatbox/lua/chatbox_markups.lua:37 steamids = {"STEAM_0:1:8039869", "76561197976345467"},

Est-ce une backdoors ? et si non, c'est quoi ?

Merci d'avance,

Randy
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
15 547
Score réaction
10 026
Points
1 840
randy à dit:
Bonjour,

J'aimerais savoir si c'est normal que sa n'affiche que de 277 a 500 (numéro dans la console)
Et j'aimerais savoir ce que veux dire cette phrase : - AUTHENT (Presence of Steam ID) addons/sh_lounge_chatbox/lua/chatbox_markups.lua:37 steamids = {"STEAM_0:1:8039869", "76561197976345467"},

Est-ce une backdoors ? et si non, c'est quoi ?

Merci d'avance,

Randy
ce serait bien de jeter un oeil au fichier indiquer non ?
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
15 547
Score réaction
10 026
Points
1 840
randy à dit:
J'ai déjà regarder, et il n'y a pas de steam ID ou quoi que ce soit .... et cette personne je ne la connait pas ....
regarde si le steamid n'est pas en commentaire (ça peux être la cause de l'avertissement)
 
randy

randy

Geek
Messages
223
Score réaction
18
Points
65
Mais encore ? parce que j'ai son steam ID pour plein de chose ...
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
15 547
Score réaction
10 026
Points
1 840
s'agit t'il d'un leak ? ou d'une version sous licence payer ?
 
randy

randy

Geek
Messages
223
Score réaction
18
Points
65
heu alors la bonne question, j'ai acheter le gamemode sur gmodstore après je ne sais pas si ce chat la était déjà la ou pas, je m'en rappel pas. Mais si il n'y était pas, c'est un amis qui me la passé.
 
Yoh Sambre ♪

Yoh Sambre ♪

Shaman Fou
Messages
15 547
Score réaction
10 026
Points
1 840
envoie le lien gmodstore de ce que tu a acheter
 
randy

randy

Geek
Messages
223
Score réaction
18
Points
65
C'était marqué de contacter le mec pour qu'il puisse donner l'addon en échange de la somme.
 
Zukih

Zukih

Nouveau né
Messages
5
Score réaction
0
Points
20
Merci car moi j'avais une backdoor qui generer d'autre backdoor le truc étais plus flipant que sa
 
Aesok Kiono

Aesok Kiono

Nouveau né
Messages
3
Score réaction
0
Points
20
Quand je lance "nomalua_scan" mon serveur crash et j'attend et ca me déco apres les 500 seconde d'attent
 
r4mpages

r4mpages

Geek suprême
Messages
63
Score réaction
5
Points
105
braxscan ?? regarde un minimum la discussion ... ;)
 
CISCO77

CISCO77

Nouveau né
Messages
6
Score réaction
2
Points
20
Merci! très instructif. Je possède deux serveurs gmod dont un chez "MTXSERV". Pour tester et améliorer mes connaissances dans le milieu de la détection de backdoors, j'ai virtualisé un serveur local et je lui installe des addon's leak afin de lire les logs de la console et de comprendre un peu, les erreurs ainsi que les différentes fonctions suspect. Votre leçons va me permettre de mieux cibler mes recherches, j'apprécie votre message d'information, MERCI.
 
Haut