
PowerShell 기반 리버스 셸로, 백그라운드 작업 실행, 파일 전송, 레지스트리 및 시작 폴더를 통한 이중 지속성 메커니즘을 갖추고 있으며 레드팀 운영을 위해 설계되었습니다.
Shell3er PowerShell 리버스 쉘

Get-RandomProcessName 함수
Get-RandomProcessName 함수는 "PS_"와 새 GUID를 연결하여 임의의 프로세스 이름을 생성합니다. 이는 고유하고 무작위로 보이는 프로세스 이름을 만들어 의심스러운 프로세스를 식별하기 어렵게 하는 데 사용됩니다.

Run-BackgroundTask 함수
Run-BackgroundTask 함수는 ScriptBlock과 선택적 ProcessName을 매개변수로 받습니다. 그런 다음 임의의 작업 이름으로 새 백그라운드 작업을 시작하고, 스크립트 블록을 실행한 후 출력을 검색합니다. 이 함수의 주요 목적은 메인 스크립트에 간섭하지 않고 백그라운드에서 작업을 실행하는 것입니다.
다운로드 및 업로드 함수
다운로드 및 업로드 함수는 클라이언트와 서버 간에 파일을 전송하는 역할을 합니다. Base64 인코딩을 사용하여 네트워크를 통해 파일 데이터를 전송합니다. 파일 전송 과정에서 오류가 발생하면 클라이언트로 다시 전송됩니다.

지속성 메커니즘
스크립트는 대상 시스템에서 지속성을 달성하기 위해 두 가지 방법을 사용합니다. 첫째, 스크립트를 "C:\ProgramData" 폴더에 복사하고 레지스트리 키 "HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"을 수정하여 사용자가 로그인할 때마다 스크립트가 시작되도록 합니다. 둘째, 스크립트를 사용자의 시작 폴더에 복사하여 사용자가 시스템을 시작할 때마다 실행되도록 합니다.
Shell3er는 다음 솔루션에서 수동으로 테스트되었습니다. (Checkpoint EDR version E85.40) (Kaspersky Total Security) (Widdows Defender)

nc -nlvp 4444 실행좋아요! 기여는 언제나 환영하며 크게 감사드립니다. 모든 기여는 GitHub 풀 리퀘스트 트래커로 보내주세요. 함께하면 더욱 멋진 도구가 될 수 있습니다! 🚀