Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Witam,

 

Dzisiaj przed aktualizacją forum mieliśmy włamania na acp. Przekierowanie zostało wrzucone w styl tzn zmodyfikowany został dokładnie core_front_global_globalTemplate

 

kod przesyłam jako link LINK do kodu jaki zainfokowali plik stylu

 

Czy ktoś może rzucić okiem czy coś ten plik modyfikował ponadto że było przekierowanie ?

 

Pozdrawiam

malyak

Opublikowano (edytowane)

Pliki nulled zawsze są poddane większości ataków, które posiadają backdoory w sobie. Styl tak samo :)

W logach apache możesz sprawdzić.

 

Edytowane przez Aria
Opublikowano (edytowane)

Aktualna wersja forum. Ale atak był przed aktualizacją.

 

spoko ale nulled mnie nie dotyczy forum jest na licencji.

Edytowane przez malyak
Opublikowano

włamanie było na konto admina z dostępem do panelu. został zmodyfikowany plik skina tak że było przekierowanie na inna stronę jakieś serwerowni Cstrike. ogólnie tylko w logach i działaniach akurat tego admina była modyfikacja tego skina. ponadto nie zauważyłem żeby był jakiś inne plik modyfikowany. 

 

Dlatego też wkleiłem wyżej kod w postaci linka ale dam go tutaj. Chodzi mi o to czy coś mogło być modyfikowane tak aby ułatwić w przyszłości na kolejny atak lub wypływ danych.


<center>
<b><center><font size="7">
<script>
// ********** MAKE YOUR CHANGES HERE
var text="Zmiana sieci na Viva-Serv.PL" // YOUR TEXT
var speed=500 // SPEED OF FADE
// ********** LEAVE THE NEXT BIT ALONE!
if (document.all||document.getElementById){
document.write('<span id="highlight">' + text + '</span>')
var storetext=document.getElementById? document.getElementById("highlight") : document.all.highlight
}
else
document.write(text)
var hex=new Array("00","14","28","3C","50","64","78","8C","A0","B4","C8","DC","F0")
var r=1
var g=1
var b=1
var seq=1
function changetext(){
rainbow="#"+hex[r]+hex[g]+hex[b]
storetext.style.color=rainbow
}
function change(){
if (seq==6){
b--
if (b==0)
seq=1
}
if (seq==5){
r++
if (r==12)
seq=6
}
if (seq==4){
g--
if (g==0)
seq=5
}
if (seq==3){
b++
if (b==12)
seq=4
}
if (seq==2){
r--
if (r==0)
seq=3
}
if (seq==1){
g++
if (g==12)
seq=2
}
changetext()
}
function starteffect(){
if (document.all||document.getElementById)
flash=setInterval("change()",speed)
}
starteffect()
</script>
</b></font>
 
<script>
    TypingText = function(element, interval, cursor, finishedCallback) {
 
    if((typeof document.getElementById == "undefined") || (typeof element.innerHTML == "undefined")) {
 
    this.running = true; // Never run.
 
    return;
 
    }
 
    this.element = element;
 
    this.finishedCallback = (finishedCallback ? finishedCallback : function() { return; });
 
    this.interval = 70;
 
    this.origText = this.element.innerHTML;
 
    this.unparsedOrigText = this.origText;
 
    this.cursor = (cursor ? cursor : "");
 
    this.currentText = "";
 
    this.currentChar = 0;
 
    this.element.typingText = this;
 
    if(this.element.id == "") this.element.id = "typingtext" + TypingText.currentIndex++;
 
    TypingText.all.push(this);
 
    this.running = false;
 
    this.inTag = false;
 
    this.tagBuffer = "";
 
    this.inHTMLEntity = false;
 
    this.HTMLEntityBuffer = "";
 
    }
 
    TypingText.all = new Array();
 
    TypingText.currentIndex = 0;
 
    TypingText.runAll = function() {
 
    for(var i = 0; i < TypingText.all.length; i++) TypingText.all[i].run();
 
    }
 
    TypingText.prototype.run = function() {
 
    if(this.running) return;
 
    if(typeof this.origText == "undefined") {
 
    setTimeout("document.getElementById('" + this.element.id + "').typingText.run()", this.interval); // We haven't finished loading yet. Have patience.
 
    return;
 
    }
 
    if(this.currentText == "") this.element.innerHTML = "";
 
    // this.origText = this.origText.replace(/<([^<])*>/, ""); // Strip HTML from text.
 
    if(this.currentChar < this.origText.length) {
 
    if(this.origText.charAt(this.currentChar) == "<" && !this.inTag) {
 
    this.tagBuffer = "<";
 
    this.inTag = true;
 
    this.currentChar++;
 
    this.run();
 
    return;
 
    } else if(this.origText.charAt(this.currentChar) == ">" && this.inTag) {
 
    this.tagBuffer += ">";
 
    this.inTag = false;
 
    this.currentText += this.tagBuffer;
 
    this.currentChar++;
 
    this.run();
 
    return;
 
    } else if(this.inTag) {
 
    this.tagBuffer += this.origText.charAt(this.currentChar);
 
    this.currentChar++;
 
    this.run();
 
    return;
 
    } else if(this.origText.charAt(this.currentChar) == "&" && !this.inHTMLEntity) {
 
    this.HTMLEntityBuffer = "&";
 
    this.inHTMLEntity = true;
 
    this.currentChar++;
 
    this.run();
 
    return;
 
    } else if(this.origText.charAt(this.currentChar) == ";" && this.inHTMLEntity) {
 
    this.HTMLEntityBuffer += ";";
 
    this.inHTMLEntity = false;
 
    this.currentText += this.HTMLEntityBuffer;
 
    this.currentChar++;
 
    this.run();
 
    return;
 
    } else if(this.inHTMLEntity) {
 
    this.HTMLEntityBuffer += this.origText.charAt(this.currentChar);
 
    this.currentChar++;
 
    this.run();
 
    return;
 
    } else {
 
    this.currentText += this.origText.charAt(this.currentChar);
 
    }
 
    this.element.innerHTML = this.currentText;
 
    this.element.innerHTML += (this.currentChar < this.origText.length - 1 ? (typeof this.cursor == "function" ? this.cursor(this.currentText) : this.cursor) : "");
 
    this.currentChar++;
 
    setTimeout("document.getElementById('" + this.element.id + "').typingText.run()", this.interval);
 
    } else {
 
    this.currentText = "/";
 
    this.currentChar = 0;
 
    this.running = true;
 
    this.finishedCallback();
 
    }
 
    }
 
</script>
 
<p id="info">
<font size="6" face="Comic Sans MS, cursive" style="color:white;">
<br>
<br>
 
<script type="text/javascript">
 
new TypingText(document.getElementById("info"), 70, function(i){
 
var ar = new Array("_"," ","_","_"); return " " + ar[i.length %
 
ar.length]; });
 
//Type out examples:
 
TypingText.runAll();
 
</script>

 

 

Opublikowano

@malyak

 

Kombinujesz jak koń pod górę.

 

1. Jeśli masz nulleda, to nie zabezpieczysz go przed kolejnymi atakami.

 

2. Jeśli masz oryginał, to procedury postępowania po ataku były wielokrotnie pisane. Zmieniasz hasła do bazy, ftp, acp, skanujesz FTP pod kątem złośliwych plików i kodu (programem WinMerge np. porównujesz zawartość oryginalnej paczki IPB z twojej wersji + tego co masz na ftp), aktualizujesz forum do najnowszej wersji + wszystkie łatki, skanujesz swój komputer w poszukiwaniu zagrożeń ( to samo robią inni admini). To są podstawy... Serio poczytaj bo temat był poruszany wielokrotnie.

  • Lubię to 1

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.