เบชเบฐเบฅเบฑเบšเบชเบฑเบšเบŠเป‰เบญเบ™ malware Drovorub เบ•เบดเบ”เป€เบŠเบทเป‰เบญ Linux OS

เบญเบปเบ‡เบเบฒเบ™โ€‹เบ„เบงเบฒเบกโ€‹เปเบฑเป‰เบ™เบ„เบปเบ‡โ€‹เปเบซเปˆเบ‡โ€‹เบŠเบฒเบ” โ€‹เปเบฅเบฐโ€‹เบญเบปเบ‡เบเบฒเบ™โ€‹เบชเบทเบšโ€‹เบชเบงเบ™โ€‹เบฅเบฑเบ”เบ–เบฐเบšเบฒเบ™โ€‹เบเบฒเบ‡โ€‹เบชเบฐเบซเบฐเบฅเบฑเบ” เป€เบœเบตเบเปเบœเปˆเบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™, เบญเบตเบ‡เบ•เบฒเบกเบเบฒเบ™เบ—เบตเปˆ 85 เบชเบนเบ™เบเบฒเบ‡เบ•เบปเป‰เบ™เบ•เปเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เบžเบดเป€เบชเบ” เบซเบปเบงเปœเป‰เบฒเบเบปเบกเปƒเบซเบเปˆเป€เบชเบ™เบฒเบ—เบดเบเบฒเบ™เบเบญเบ‡เบ—เบฑเบšเบฅเบฑเบ”เป€เบŠเบ (85 GCSS GRU) เบชเบฐเบฅเบฑเบšเบชเบฑเบšเบŠเป‰เบญเบ™ malware เบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒ "Drovorub" เบ–เบทเบเปƒเบŠเป‰. Drovorub เบ›เบฐเบเบญเบšเบกเบต rootkit เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เป‚เบกเบ”เบนเบ™ Linux kernel, เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบญเบ™เป„เบŸเบฅเปŒเปเบฅเบฐเบเบฒเบ™เบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ„เบงเบšเบ„เบธเบก. เบžเบฒเบเบชเปˆเบงเบ™เบฅเบนเบเบ„เป‰เบฒเบชเบฒเบกเบฒเบ”เบ”เบฒเบงเป‚เบซเบฅเบ”เปเบฅเบฐเบญเบฑเบšเป‚เบซเบฅเบ”เป„เบŸเบฅเปŒ, เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡ arbitrary เป€เบ›เบฑเบ™เบœเบนเป‰เปƒเบŠเป‰เบฎเบฒเบ, เปเบฅเบฐ redirect ports เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบเบฑเบš nodes เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบญเบทเปˆเบ™เป†.

เบชเบนเบ™เบ„เบงเบšเบ„เบธเบก Drovorub เป„เบ”เป‰เบฎเบฑเบšเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป„เบ›เบซเบฒเป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปƒเบ™เบฎเบนเบšเปเบšเบš JSON เป€เบ›เบฑเบ™เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡:

{
"db_host" : "",
"db_port" : "",
"db_db" : "",
"db_user" : "",
"db_password" : "",

"lport" : "",
"lhost" : "",
"ping_sec" : "",

"priv_key_file" : "",
"เบ›เบฐเป‚เบซเบเบ" : ""
}

MySQL DBMS เบ–เบทเบเปƒเบŠเป‰เป€เบ›เบฑเบ™ backend. เป‚เบ›เบฃเป‚เบ•เบ„เป WebSocket เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบฅเบนเบเบ„เป‰เบฒ.

เบฅเบนเบเบ„เป‰เบฒเบกเบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปƒเบ™เบ•เบปเบง, เบฅเบงเบกเบ—เบฑเบ‡ URL เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ, เบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ RSA, เบŠเบทเปˆเบœเบนเป‰เปƒเบŠเป‰เปเบฅเบฐเบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบ‚เบญเบ‡เบกเบฑเบ™. เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฑเป‰เบ‡ rootkit, เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ„เปˆเบฒโ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบšเบฑเบ™โ€‹เบ—เบถเบโ€‹เป„เบงเป‰โ€‹เป€เบ›เบฑเบ™โ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เบ‚เปเป‰โ€‹เบ„เบงเบฒเบกโ€‹เปƒเบ™โ€‹เบฎเบนเบšโ€‹เปเบšเบš JSON, เบ—เบตเปˆโ€‹เบ–เบทเบโ€‹เป€เบŠเบทเปˆเบญเบ‡โ€‹เป„เบงเป‰โ€‹เบˆเบฒเบโ€‹เบฅเบฐโ€‹เบšเบปเบšโ€‹เป‚เบ”เบโ€‹เป‚เบกโ€‹เบ”เบนเบ™โ€‹เปเบเปˆเบ™ Drovoruba:

{
ยซidยป : ยซcbcf6abc-466b-11e9-853b-000c29cb9f6fยป,
"key": "Y2xpZW50a2V5"
}

เบ—เบตเปˆเบ™เบตเป‰ "id" เปเบกเปˆเบ™เบ•เบปเบงเบฅเบฐเบšเบธเบ—เบตเปˆเป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบเบ—เบตเปˆเบญเบญเบเป‚เบ”เบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ, เป€เบŠเบดเปˆเบ‡ 48 bits เบชเบธเบ”เบ—เป‰เบฒเบเปเบกเปˆเบ™เบเบปเบ‡เบเบฑเบšเบ—เบตเปˆเบขเบนเปˆ MAC เบ‚เบญเบ‡เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ. เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต "key" เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™เบชเบฒเบเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ” base64 "clientkey" เบ—เบตเปˆเปƒเบŠเป‰เป‚เบ”เบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบˆเบฑเบšเบกเบทเปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™. เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบญเบฒเบ”เบกเบตเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเป„เบŸเบฅเปŒเบ—เบตเปˆเป€เบŠเบทเปˆเบญเบ‡เป„เบงเป‰, เป‚เบกเบ”เบนเบ™ เปเบฅเบฐเบžเบญเบ”เป€เบ„เบทเบญเบ‚เปˆเบฒเบ:

{
ยซidยป : ยซ6fa41616-aff1-11ea-acd5-000c29283bbcยป,
"key": "Y2xpZW50a2V5",
"เบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒ": {
"เป„เบŸเบฅเปŒ": [
{
"active": "เบˆเบดเบ‡"
ยซidยป : ยซd9dc492b-5a32-8e5f-0724-845aa13fff98ยป,
"เบซเบ™เป‰เบฒเบเบฒเบ": "testfile1"
}
],
"เป‚เบกเบ”เบนเบ™": [
{
"active": "เบˆเบดเบ‡"
ยซidยป : ยซ48a5e9d0-74c7-cc17-2966-0ea17a1d997aยป,
"เบซเบ™เป‰เบฒเบเบฒเบ": "testmodule1"
}
],
"เบชเบธเบ”เบ—เบด" : [
{
"active": "เบˆเบดเบ‡"
ยซidยป : ยซ4f355d5d-9753-76c7-161e-7ef051654a2bยป,
"เบžเบญเบ”": "12345",
"เป‚เบ›เป‚เบ•เบ„เบญเบ™": "tcp"
}
] }
}

เบญเบปเบ‡เบ›เบฐเบเบญเบšเบญเบทเปˆเบ™เบ‚เบญเบ‡ Drovorub เปเบกเปˆเบ™เบ•เบปเบงเปเบ—เบ™; เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบญเบ‡เบกเบฑเบ™เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบ‚เปเป‰เบกเบนเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ:

{
"client_login" : "user123",
"client_pass" : "pass4567",
"เบฅเบนเบเบ„เป‰เบฒ" : "e391847c-bae7-11ea-b4bc-000c29130b71",
ยซclientkey_base64ยป : ยซY2xpZW50a2V5ยป,
"pub_key_file" :"public_key",
"server_host" : "192.168.57.100",
"server_port" : "45122",
"server_uri" :"/ws"
}

เบŠเปˆเบญเบ‡เบ‚เปเป‰เบกเบนเบ™ "clientid" เปเบฅเบฐ "clientkey_base64" เปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เปเบกเปˆเบ™เบ‚เบฒเบ”เบซเบฒเบเป„เบ›; เบžเบงเบเบกเบฑเบ™เบˆเบฐเบ–เบทเบเป€เบžเบตเปˆเบกเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เปƒเบ™เป€เบŠเบตเบšเป€เบงเบต.

เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡, เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰เปเบกเปˆเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”:

  • เป‚เบกเบ”เบนเบ™ kernel เบ–เบทเบเป‚เบซเบฅเบ”, เป€เบŠเบดเปˆเบ‡เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™ hooks เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบ—เบฅเบฐเบšเบปเบš;
  • เบฅเบนเบเบ„เป‰เบฒเบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบ”เป‰เบงเบเป‚เบกเบ”เบนเบ™เปเบเปˆเบ™;
  • เป‚เบกเบ”เบนเบ™ kernel เป€เบŠเบทเปˆเบญเบ‡เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบฅเบนเบเบ„เป‰เบฒเบ—เบตเปˆเบเปเบฒเบฅเบฑเบ‡เปเบฅเปˆเบ™เปเบฅเบฐเป„เบŸเบฅเปŒเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ›เบฐเบ•เบดเบšเบฑเบ”เป„เบ”เป‰เบ‚เบญเบ‡เบกเบฑเบ™เบขเบนเปˆเปƒเบ™เปเบœเปˆเบ™.

เบญเบธเบ›เบฐเบเบญเบ™ pseudo, เป€เบŠเบฑเปˆเบ™ /dev/zero, เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ•เบดเบ”เบ•เปเปˆเบชเบทเปˆเบชเบฒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบฅเบนเบเบ„เป‰เบฒเปเบฅเบฐเป‚เบกเบ”เบนเบ™ kernel. เป‚เบกเบ”เบนเบ™ kernel parses เบ‚เปเป‰เบกเบนเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบ‚เบฝเบ™เปƒเบชเปˆเบญเบธเบ›เบฐเบเบญเบ™, เปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบปเปˆเบ‡เบ•เปเปˆเปƒเบ™เบ—เบดเบ”เบ—เบฒเบ‡เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบกเบกเบฑเบ™เบˆเบฐเบชเบปเปˆเบ‡เบชเบฑเบ™เบเบฒเบ™ SIGUSR1 เบเบฑเบšเบฅเบนเบเบ„เป‰เบฒ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบกเบฑเบ™เบญเปˆเบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเบญเบธเบ›เบฐเบเบญเบ™เบ”เบฝเบงเบเบฑเบ™.

เป€เบžเบทเปˆเบญเบเบงเบ”เบซเบฒ Lumberjack, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบเบฒเบ™เบˆเบฒเบฅเบฐเบˆเบญเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเป‚เบ”เบเปƒเบŠเป‰ NIDS (เบเบดเบ”เบˆเบฐเบเปเบฒเป€เบ„เบทเบญเบ‚เปˆเบฒเบเป€เบ›เบฑเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบเปƒเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆเบ•เบดเบ”เป€เบŠเบทเป‰เบญเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบšเปเปˆเบชเบฒเบกเบฒเบ”เบเบงเบ”เบžเบปเบšเป„เบ”เป‰, เป€เบžเบฒเบฐเบงเปˆเบฒเป‚เบกเบ”เบนเบ™ kernel เป€เบŠเบทเปˆเบญเบ‡เบŠเบฑเบญเบเป€เบเบฑเบ”เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ—เบตเปˆเบกเบฑเบ™เปƒเบŠเป‰, เบเบปเบ”เบฅเบฐเบšเบฝเบš netfilter, เปเบฅเบฐเปเบžเบฑเบเป€เบเบฑเบ”เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบชเบฐเบเบฑเบ”เป‚เบ”เบเบŠเบฑเบญเบเป€เบเบฑเบ”เบ”เบดเบš) . เปƒเบ™เบฅเบฐเบšเบปเบšเบ—เบตเปˆ Drovorub เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเบงเบ”เบžเบปเบšเป‚เบกเบ”เบนเบ™ kernel เป„เบ”เป‰เป‚เบ”เบเบเบฒเบ™เบชเบปเปˆเบ‡เบกเบฑเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบžเบทเปˆเบญเป€เบŠเบทเปˆเบญเบ‡เป„เบŸเบฅเปŒ:

เปเบ•เบฐเป„เบŸเบฅเปŒเบ—เบปเบ”เบชเบญเบš
echo โ€œASDFZXCV:hf:testfileโ€ > /dev/zero
ls

เป„เบŸเบฅเปŒ "testfile" เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบˆเบฐเป€เบšเบดเปˆเบ‡เบšเปเปˆเป€เบซเบฑเบ™.

เบงเบดเบ—เบตเบเบฒเบ™เบเบงเบ”เบžเบปเบšเบญเบทเปˆเบ™ เป† เบ›เบฐเบเบญเบšเบกเบตเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเปเบฅเบฐเปเบœเปˆเบ™. เป€เบžเบทเปˆเบญเบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เบ•เบดเบ”เป€เบŠเบทเป‰เบญ, เปเบ™เบฐเบ™เบณเปƒเบซเป‰เปƒเบŠเป‰เบเบฒเบ™เบขเบทเบ™เบขเบฑเบ™เบฅเบฒเบเป€เบŠเบฑเบ™เบ—เบตเปˆเบˆเบณเป€เบ›เบฑเบ™เบ‚เบญเบ‡ kernel เปเบฅเบฐ modules, เบกเบตเปƒเบซเป‰เป€เบฅเบตเปˆเบกเบˆเบฒเบ Linux kernel version 3.7.

เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบกเบตเบเบปเบ”เบฅเบฐเบšเบฝเบš Snort เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบดเบ”เบˆเบฐเบเปเบฒเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ‚เบญเบ‡ Drovorub เปเบฅเบฐเบเบปเบ”เบฅเบฐเบšเบฝเบš Yara เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบกเบฑเบ™.

เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบˆเบทเปˆเบงเปˆเบฒ GTSSS GRU 85th (เบซเบ™เปˆเบงเบเบ‡เบฒเบ™เบ—เบฐเบซเบฒเบ™ 26165) เปเบกเปˆเบ™เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบธเปˆเบก. APT28 (เบซเบกเบตเปเบŸเบ™เบŠเบต), เบฎเบฑเบšเบœเบดเบ”เบŠเบญเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบˆเบกเบ•เบต cyber เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบ.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru