Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
LOLBITS — ** 중단됨 ** 백그라운드 지능형 전송 서비스 (BITS)를 통신 프로토콜로 사용하고 Direct Syscalls + Dinvoke를 사용하여 EDR 사용자 모드 후킹 회피를 수행하는 C2 프레임워크. | Kitploit
도구/GitHubGitHub/kudaes/lolbits
Privilege EscalationExploit FrameworksLateral MovementPost-ExploitationCommand and ControlRed TeamingPayload Development
GitHubkudaes/lolbits

LOLBITS

** 중단됨 ** 백그라운드 지능형 전송 서비스 (BITS)를 통신 프로토콜로 사용하고 Direct Syscalls + Dinvoke를 사용하여 EDR 사용자 모드 후킹 회피를 수행하는 C2 프레임워크.

저장소 보기
222383년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

License

root@kitploit:~
			 ██╗      ██████╗ ██╗     ██████╗ ██╗████████╗███████╗
			 ██║     ██╔═══██╗██║     ██╔══██╗██║╚══██╔══╝██╔════╝
			 ██║     ██║   ██║██║     ██████╔╝██║   ██║   ███████╗
			 ██║     ██║   ██║██║     ██╔══██╗██║   ██║   ╚════██║
			 ███████╗╚██████╔╝███████╗██████╔╝██║   ██║   ███████║
			 ╚══════╝ ╚═════╝ ╚══════╝╚═════╝ ╚═╝   ╚═╝   ╚══════╝

목차

  • 프로젝트 소개
    • 감사의 말
  • 시작하기
    • 사전 요구 사항
    • 설정
  • 사용법
  • 기여하기
  • 라이선스
  • 연락처

프로젝트 소개

LOLBITS는 Microsoft의 Background Intelligent Transfer Service (BITS)를 사용하여 손상된 호스트와 백엔드 간의 통신 채널을 설정하는 C2 프레임워크입니다. C2 백엔드는 겉보기에 무해한 flask 웹 애플리케이션 뒤에 숨겨져 있으며, 앱이 수신한 HTTP 요청에 유효한 인증 헤더가 포함된 경우에만 접근할 수 있습니다. 이 도구는 모니터링이 엄격한 환경에서 사용하도록 설계되었기 때문에, EDR 및 AV 탐지를 피하기 위해 다음과 같은 기능이 구현되었습니다:

  • ETW 및 AMSI 패치.
  • EDR 사용자 모드 API 후킹을 피하기 위한 직접 시스템 콜 사용.
  • DInvoke와 함께 kernel32.dll 및 advapi32.dll의 수동 매핑.
  • C2 백엔드와 통신 채널을 설정하기 전 기본적인 샌드박스 탐지.
  • 사용자 경험을 방해하지 않도록 백그라운드 모드에서 BITS를 사용하여 통신 채널 생성.

아키텍처와 관련하여 LOLBITS는 3가지 주요 요소로 구성됩니다:

  • 작업이 완료되면 C2 서버로 출력을 다시 보내며, 손상된 호스트에서 명령을 실행하는 C# 에이전트.
  • 디스패처 역할을 하는 flask 웹 애플리케이션. 이 요소는 인증된 요청이 수신될 때 에이전트에 새 명령을 제공하는 동시에 C2 인프라를 무해한 웹사이트 뒤에 숨길 수 있게 합니다.
  • 에이전트를 제어하는 데 사용되는 C2 콘솔.

프록시의 콘텐츠 검사를 차단하기 위해, 에이전트와 C2 서버 간에 전송되는 모든 관련 콘텐츠는 사전 공유된 무작위 비밀 키를 사용하여 RC4로 암호화됩니다. 인프라 동작의 개략적인 다이어그램은 다음 이미지와 같습니다:

고수준 다이어그램

블루 팀이 이전 요청 중 일부를 재현하여 C2 백엔드 인프라를 발견하지 못하도록 하기 위해, 각 인증 헤더는 무작위로 생성되며 단일 주기(POST 요청과 GET 요청으로 구성된 순서로, 순서대로)에만 유효합니다. 이전 인증 헤더는 무시되며 해당 요청에는 무해한 웹사이트가 표시됩니다.

감사의 말

이 도구의 일부 기능은 다른 프로젝트의 코드를 재사용하거나 여러 사이버 보안 연구원들의 노력 덕분에 구현되었습니다. 아래는 이 도구를 개선하기 위해 직간접적으로 사용된 외부 작업 및 프로젝트 중 일부에 대한 링크입니다:

  • Salsa Tools
  • Dinvoke
  • SharpSploit
  • Windows System Call Table
  • CheckPlease for Sandbox Evasion

시작하기

사전 요구 사항

C2 인프라에는 Windows Server 2016 이상, python 3.4+ 및 powershell 5.1+가 필요합니다. C# 에이전트는 Windows Server 2012, Windows Server 2016, Windows Server 2019, Windows 7, Windows 8.1 및 Windows 10에서 성공적으로 테스트되었습니다. 컴파일하려면 다음이 필요합니다:

  • Visual Studio 2017 이상.
  • .NET Framework 4.5 이상.

설정

1.- C2 서버에 이 저장소를 클론합니다.

root@kitploit:~
git clone https://github.com/Kudaes/LOLBITS.git

2.- Windows Server Manager를 통해 웹 서버(IIS)를 설치합니다. CGI, ASP.NET 및 .NET 확장성 역할을 설치했는지 확인하세요.

서버 역할

또한 IIS용 .NET Framework 및 BITS 기능을 설치합니다.

서버 기능

3.- setup.ps1 스크립트를 관리자 권한으로 실행하여 전체 인프라를 배포하고 C# 에이전트를 설정합니다.

4.- C# 에이전트를 컴파일합니다. 컴파일하면 .exe 파일과 외부 종속성(Newtonsoft.Json.dll)이 생성됩니다. ILMerge를 사용하여 단일 .exe를 생성하거나 두 파일을 모두 손상된 호스트로 전송할 수 있습니다. DEBUG 출력을 방지하려면 프로젝트를 Windows 응용 프로그램으로 컴파일해야 합니다.

Windows 응용 프로그램

5.- (선택 사항) 기본적으로 setup.ps1 스크립트는 IIS에 lawlbits라는 새 웹 사이트를 생성하며 기본 HTTP 포트(80/TCP)에서 수신 대기합니다. 이 새 웹 사이트는 TLS를 통한 HTTP를 사용하지 않으며, C# 에이전트가 C2로 보내는 요청의 내용이 사전 공유되고 무작위로 생성된 비밀 키로 RC4 암호화되기는 하지만, 새 사이트에 HTTPS를 설정하는 것이 좋습니다. 이를 위해 Let's Encrypt를 lawlbits에 사용하는 것을 권장합니다. 이는 HTTPS를 설정하는 가장 쉬운 방법 중 하나입니다. 그 후, Program.cs의 Url 변수를 기본값인 HTTP 대신 HTTPS를 사용하도록 수정해야 합니다.

사용법

리버스 셸을 얻으려면 C2 서버의 명령 프롬프트에서 python lawlbin.py를 입력하고 손상된 호스트에서 C# 에이전트를 실행하면 됩니다.

이 프로젝트는 이전에 실패한 프로젝트의 잔재에서 탄생했기 때문에 일부 이전 기능이 유지되었습니다. 이전 프로젝트는 사용 가능한 모든 명령을 Living of The Land Binaries만을 사용하여 실행하는 셸이었습니다. 이것이 LOLBITS의 LOL이 유래된 곳이며, 다음 기능은 LOLBINS만을 사용하여 실행됩니다(AWS 및 일부 AV/EDR 필터를 우회하는 데 도움이 될 수 있음):

  • download: 원격 Webdav에서 손상된 호스트로 파일을 다운로드합니다.
  • base64encode: 로컬 파일 내용을 base64로 인코딩합니다.
  • base64decode: base64로 인코딩된 파일을 디코딩합니다.
  • compile: .cs 파일을 .exe 또는 .dll로 컴파일합니다.

이러한 기능은 일부 환경에서 흥미로울 수 있지만(Powershell을 사용하지 않고 원격 파일 다운로드? 좋습니다!), C2 콘솔용 이전 코드 일부를 재사용하기 위해 유지했습니다. 아래는 클래식 레드 팀 환경에서 더 유용할 몇 가지 다른 기능 목록입니다:

  • inject: C2에서 셸코드(.bin) 또는 PE(.NET 어셈블리) 파일을 다운로드하여 메모리에서 실행합니다. 이 명령을 사용하면 페이로드가 암호화되지 않은 상태로 디스크에 저장되지 않아 AV 탐지를 피할 수 있습니다. .NET 어셈블리는 동일한 호출 프로세스에만 로드할 수 있지만, 셸코드는 자체 및 다른 프로세스(x64 프로세스만 해당)에 모두 주입할 수 있습니다.
  • psh: Powershell 리버스 셸을 생성합니다. 이 셸은 netcat과 같은 추가 소프트웨어로 처리해야 합니다(nc -lvp 실행).
  • send: C2에서 손상된 호스트로 파일을 보내려면 이 옵션을 사용합니다. 보낸 파일은 암호화되지 않은 상태로 디스크에 저장됩니다.
  • getsystem: 시스템 권한을 얻으려고 시도합니다. 높은 무결성 수준이 필요합니다.
  • impersonate: 다른 프로세스에서 액세스 토큰을 도용하여 다른 사용자로 '가장'하려고 시도합니다.
  • runas: 유효한 자격 증명을 사용하여 보안 컨텍스트를 수정하고 다른(로컬 또는 도메인) 사용자로 로그온합니다.
  • rev2self: getsystem, impersonate 또는 runas로 수행한 보안 컨텍스트 변경을 제거합니다.
  • exfiltrate: 손상된 호스트에서 C2로 파일을 보냅니다.

사용 팁을 보려면 help 또는 <somecommand> help를 입력하면 됩니다.

기여하기

어떤 기여든 크게 감사드립니다.

  1. 프로젝트를 포크합니다.
  2. 기능 브랜치를 만듭니다 (git checkout -b feature/AmazingFeature).
  3. 변경 사항을 커밋합니다 (git commit -m 'Add some AmazingFeature').
  4. 브랜치에 푸시합니다 (git push origin feature/AmazingFeature).
  5. 풀 리퀘스트를 엽니다.

라이선스

GNU 라이선스에 따라 배포됩니다. 자세한 내용은 LICENSE를 참조하세요.

연락처

트위터

링크드인

도구 다운로드