GNU/Linux >> Znalost Linux >  >> Linux

Útok skriptu Shell na server Apache prostřednictvím cronu neznámého původu

Poté, co OP přidal protokoly, bylo jasné, že problém je v exploitu Remote Code Execution pro Struts 2 (CVE-2017-5638).

Některé další odkazy:

  1. Nové využití Struts2 Remote Code Execution zachycené ve volné přírodě.
  2. CVE-2017-5638 – Apache Struts2 S2-045.

Řešením je upgradovat vaše Struts na verzi 2.3.32 nebo 2.5.10.1.


S podobnými problémy jsem se potýkal dříve, když jsem byl správcem systému. Myslím, že musíte rozlišit, jestli je to váš server Tomcat nebo vaše Java aplikace.

Když spustíte kocour bez „infikované Java aplikace“, aktivuje se cron? (Myslím tím smazání aplikace z Tomcatu a její spuštění) Pokud ano, pak máte větší problém, budete muset ověřit spouštěcí skripty a každou aplikaci nasazenou na serveru tomcat.

Jinak jsme si jisti, že problém je ve vaší aplikaci.

V takovém případě přejděte na:

$CATALINA_BASE/webapps/your_app 

Ověřte integritu své aplikace, existují další soubory, které nepoznáváte?

Nyní přejděte do adresáře webapps vaší instalace kocoura:

$CATALINA_BASE/webapps/

V tomto adresáři proveďte:

grep -R '91.230.47.40' *

Chcete-li najít možný soubor/řádek kódu, který způsobuje infekci, může to být soubor vaší aplikace nebo nový.

Máte svůj kód v systému CSV?

Sestavte válečný soubor mimo infikovaný server z vašeho úložiště CSV a proveďte:

md5sum your_app.war

Odeberte svou aplikaci ze serveru tomcat a znovu ji nasaďte, ověřte, že nahráváte správnou válku přes md5, a poté zkontrolujte, zda je vyvolán crontab.

Pokud nám poskytnete zpětnou vazbu k těmto krokům, rád vám pomohu.


Prostě jsme museli bojovat s tímto druhem útoku na serveru, neustále restartoval přepisování crontab pro našeho uživatele kocourků, jak je popsáno výše. IP adresa byla identická. Grep celého adresáře webových aplikací pro IP adresu neodhalil viníka.

V našem případě nepoužíváme vzpěry, ale měli jsme aplikace "host-manager" a "manager" ve webových aplikacích a měli jsme povolený/port otevřený JMX. Zdá se, že restartování bez nich je vyřešeno, takže se domnívám, že zranitelnost může být v jednom z nich. Konkrétně byla v 7.0.73 opravena zranitelnost JMX, která by mohla být naším viníkem (https://tomcat.apache.org/security-7.html#Fixed_in_Apache_Tomcat_7.0.73).

Dalším opatřením, které nyní přijímáme, je omezit přístup k wget a chmod pouze na uživatele root (stačí provést chmod 770 na těchto binárních souborech).


Linux
  1. Použití skriptu Cron Wrapper

  2. Ssh – Shell skript pro přihlášení na Ssh server?

  3. Časový limit ve skriptu Shell?

  1. Určení cesty ke zdrojovému skriptu Shell?

  2. Procesy v relaci v interaktivním prostředí versus ve skriptu?

  3. Význam $? Ve skriptu Shell?

  1. Nainstalujte Apache na CentOS 8

  2. Aktuální adresář skriptu Shell?

  3. Automatizujte mysql_secure_installation pomocí příkazu echo pomocí skriptu shellu